"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que devo evitar usar o busca para APIs internas em getServersideProps ()?

Por que devo evitar usar o busca para APIs internas em getServersideProps ()?

Postado em 2025-03-05
Navegar:293

Why Should I Avoid Using Fetch for Internal APIs in getServerSideProps()?

API interna busca com getServersideProps em next.js

recém -chegados a Next.js frequentemente encontram um dilema ao lidar com dados entre os dados entre páginas ou componentes. Por exemplo, ao usar o getServersideProps () para buscar uma API interna que retorne dados do usuário, é natural pensar que essa abordagem é ideal para fins de SEO. No entanto, a documentação Next.js aconselha -se a usar o Fetch () para chamar rotas de API em getServersideProps (). As rotas de API são executadas no servidor. Esta solicitação extra é ineficiente e não fornece benefícios adicionais. Isso permite que o getServersideProps () interaja diretamente com o banco de dados, o sistema de arquivos ou outros recursos sem introduzir chamadas de API desnecessárias. exportar manipulador de função assíncrona padrão (req, res) { const Response = aguarda busca (/ * endpoint externo da API */); const jSondata = Aguarda Response.json (); Res.status (200) .json (JSONDATA); }

Essa lógica pode ser extraída em uma função separada que pode ser usada na rota da API e GetServersideProps (): Exportar função assíncrona getData () { const Response = aguarda busca (/ * endpoint externo da API */); const jSondata = Aguarda Response.json (); devolver jsondata; } exportar manipulador de função assíncrona padrão (req, res) { const jsondata = aguarda getData (); Res.status (200) .json (JSONDATA); }

Isso permite que a função getData () seja reutilizada em getServersideProps ():

// páginas/home importar {getData} de './api/user'; Exportar função assíncrona getServersideProps (contexto) { const jsondata = aguarda getData (); // ... } Seguindo estas diretrizes, os desenvolvedores podem melhorar o desempenho e a eficiência de seus aplicativos Next.js, mantendo os benefícios de SEO.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3