Retornar JSON
Serialize um objeto e retorne-o como uma resposta JSON com o header content-type correto, para APIs leves e middlewares.
Retorne um conteúdo JSON diretamente de uma função, sem encaminhar a requisição a uma origem. Use esse padrão para APIs leves e middlewares, como mocks de API, feature flags, endpoints de configuração e health checks, em que a resposta é um dado estruturado e nenhum serviço de backend precisa ser envolvido.
Como funciona
Quando o evento fetch é disparado, o handler define um objeto JavaScript simples e o serializa com JSON.stringify(data, null, 2), em que o 2 adiciona indentação para tornar a saída mais legível. Em seguida, cria um novo Response com essa string como corpo e define o header content-type como application/json;charset=UTF-8, o que indica ao cliente que o conteúdo é JSON. Por fim, event.respondWith() retorna a resposta, sem nenhuma requisição a uma origem.
O mesmo formato cobre respostas mais completas. Defina um código de status ou adicione headers de CORS e de cache-control no segundo argumento de Response, e monte o objeto a partir de dados da requisição, como parâmetros de query string, cookies ou headers, em vez de fixá-los no código.
O objeto também pode ser montado a partir de dados que a função busca. Um handler que chama fetch() para cada uma de várias URLs, faz o parse de cada resposta com response.json() e aguarda todas juntas com Promise.all() retorna um único corpo JSON montado a partir de todas elas. Para um exemplo pronto, consulte Exemplo: Handlers de eventos assíncronos.