![](/img/trans.png)
[英]How to pass file(Image) via NextJS API Routes to external API?
[英]Generate static API routes in nextjs
我想通过 API 公开的文件中有数据 (JSON)。 我知道构建时的数据,但我不知道如何创建静态 API 路由,甚至不知道如何通过 API 路由静态公开文件。
我为此搜索了两个解决方案:
我最后的手段是尝试通过 /pages/api/[something].js 上的函数访问文件,但这是动态的而不是静态的。
/pages/api/hello.js 文件夹中默认的动态函数:
export default (req, res) => {
res.statusCode = 200;
res.json({ name: "John Doe" });
};
这里的典型策略是什么? 我觉得我错过了一些东西。
Use the pages/api/[something] to generate the API (but it seems to always be dynamic).
不,它不是动态的。 从[something].js
,如果您导出getStaticPath (这将为您生成静态路由)和getStaticProps (这将从相应的路由注入要提供的数据), next build
将生成您的静态文件,并准备好提供作为带有原始 json 数据的 api 页面。
希望这就是您要解决的问题。
FWIW,这是我发现动态生成 API 的动态方式:
// on file /pages/api/[article].js
import { getArticle } from "../../lib/api";
export default (req, res) => {
// It gets an article from a file, also can be used with getStaticProps
const article = getPost({article: req.article});
res.statusCode = 200;
// returns the JSON.
res.json(article);
}
我仍然希望它是静态的,不需要运行任何无服务器功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.