javascript - NextJS 如何创建动态后端路由
问题描述
我可以创建动态后端路由吗?我正在创建和图像主机。我希望用户能够将他们的图像保存在这样的域下的服务器上http://localhost/<random_id>
,链接的示例是http://localhost/a3Fafght5
,我在网上环顾四周,我找不到任何关于创建动态后端路由的信息,然后当我做了找到它说我需要使用getStaticPaths来声明所有可能的 id 的一件事。当我构建项目时,我不知道 id 会是什么,我需要能够用它查询数据库并检查它是否存在并从那里做事。
解决方案
如果您有类似文件,则可以使用动态页面路由pages/[imageId].js
,然后只需放入getServerSideProps
可以调用数据库并确定这是否是有效 ID 的文件。对于有效的 ID,您将返回图像,对于无效的只是 404。
如果您不想进行服务器端渲染,而是使用静态渲染。您可以拥有与上述相同的文件,并具有getStaticPaths
查询数据库并返回所有可能 ID 的数组的函数。但是,如果您有很多图像,这可能会成为问题,那么服务器端解决方案将是最简单的。
推荐阅读
- json - lua dkjson 从 json 数组中获取值
- vba - 以编程方式更改 Word 范围内的段落位置
- java - 无法使用休眠将引用键存储在表中
- android - 在 Android 项目中使用不同版本的 Lottie 时出现问题
- google-chrome-devtools - Chrome 开发工具:页面刷新后本地 CSS 更改意外持续存在
- c++ - 函数内部的局部静态变量存储在哪里 - 在数据段中还是在堆栈中?
- garbage-collection - 每天在 glassfish 中生成垃圾收集日志文件
- reactjs - 使用 mapbox.js 制作的 React Web 应用程序,看起来在视觉上被拉伸了,而它的交互组件则以预期的方式运行
- spring-boot - 将 logback 配置文件包含到 Spring Boot 启动器中
- r - 使用 dplyr 在缺失值中生成逐行条件