You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/pages/pt-br/core-concepts/endpoints.mdx
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,11 +12,12 @@ Em sites gerados de forma estática, seus endpoints customizados são chamados d
12
12
Endpoints estáticos e SSR são definidos de maneira similar, mas os endpoints SSR suportam funcionalidades adicionais.
13
13
14
14
## Endpoints de Arquivos Estáticos
15
+
15
16
Para criar um endpoint customizado, adicione um arquivo `.js` ou `.ts` no diretório `/pages`. A extensão do arquivo será removida durante o processo de build, portanto o nome do arquivo deve conter a extensão que você deseja que os dados usem, por exemplo `src/pages/data.json.ts` se tornará a rota `/data.json`.
16
17
17
-
Seus endpoints devem exportar uma função `get` (opcionalmente assíncrona) que recebe um objeto com as propriedades (`param` e `request`) como único parâmetro e retorna um objeto contendo a propriedade `body`. Essa função será chamada pelo Astro durante a build, que utilizará os conteúdos da propriedade `body` para gerar o arquivo.
18
+
Seus endpoints devem exportar uma função `get` (opcionalmente assíncrona) que recebe um [objeto de contexto](/pt-br/reference/api-reference/#contexto-de-endpoint) com propriedades similares a global `Astro`. Ele retorna um objeto com um `body`, que o Astro irá chamar durante a build e utilizar seu conteúdo para gerar o arquivo.
18
19
19
-
```js title="src/pages/builtwith.json.ts"
20
+
```ts title="src/pages/builtwith.json.ts"
20
21
// Se tornará: /builtwith.json
21
22
exportasyncfunction get({params, request}) {
22
23
return {
@@ -31,7 +32,7 @@ export async function get({params, request}) {
31
32
O objeto retornado também pode conter a propriedade `encoding`. Ela deve ser uma string válida do tipo [`BufferEncoding`](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/bdd02508ddb5eebcf701fdb8ffd6e84eabf47885/types/node/buffer.d.ts#L169) aceita pelo método `fs.writeFile` do Node.js. Por exemplo, para gerar uma imagem no formato png retornamos:
Tudo descrito na seção de endpoints de arquivos estáticos também pode ser utilizado no modo SSR: arquivos podem exportar uma função `get` que recebe um objeto com as propriedades `params` e `request`.
102
+
Tudo descrito na seção de endpoints de arquivos estáticos também pode ser utilizado no modo SSR: arquivos podem exportar uma função `get` que recebe um [objeto de contexto](/pt-br/reference/api-reference/#contexto-de-endpoint) com propriedades similares a global `Astro`.
102
103
103
104
Porém, diferente do modo `static`, quando você configura o modo `server`, os endpoints serão construídos no momento em que são requisitados. Isso desbloqueia novas funcionalidades que estão indisponíveis durante a build e permite que você construa rotas de API que respondem requisições e seguramente executam código no servidor em runtime.
Como `Astro.redirect` não está disponível em rotas de API, você pode usar o método [`Response.redirect`](https://developer.mozilla.org/en-US/docs/Web/API/Response/redirect) para redirecionar:
202
+
O contexto do endpoint exporta um utilitário `redirect()` similar ao `Astro.redirect`:
0 commit comments