NodeJS 关于API路由命名约定[已关闭]

rseugnpd  于 2023-10-17  发布在  Node.js
关注(0)|答案(1)|浏览(144)

已关闭,此问题为opinion-based。它目前不接受回答。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。

6天前关闭
Improve this question
我正在进行一项API路由命名研究,我很好奇软件开发人员对我遇到的一个问题的看法和最佳实践。
让我们假设我将创建两个路由:

1) GET: http://localhost:3000/api/v1/tasks/:id 

This path, as you can predict, is intended for a function that retrieves the task object with the specified id.
2) GET: http://localhost:3000/api/v1/tasks/archived-count 

This path, on the other hand, is intended for a function that retrieves the count of archived tasks.

当向第二个端点发出请求时,“archived-count”被错误地视为id,导致返回不正确的数据。
什么是防止这种情况发生的最佳做法?

hgqdbh6s

hgqdbh6s1#

切换它们定义的顺序,如果你把/archived-count放在第一位,请求不会被当作id来处理。只有当你的路径不是/archived-count时,请求才会继续,然后你的/:id路由将匹配该请求。

1) app.get('/api/v1/tasks/archived-count', (req, res) => {});
2) app.get('/api/v1/tasks/:id', (req, res) => {});

相关问题