RESTful中面对非常规CRUD的场景应该怎么定义URL?

比如后端有个service是去网上拉取最新的疫情数据,现在要由前端发起这个请求命令,应该如何定义RESTful url?

这样吗? POST /api/covid19?action=refresh


补充下,我主要是在使用egg.js中的router.resources()映射controller方法时遇到疑惑。

阅读 2.5k
1 个回答

可以。

也可以直接 [POST] /api/covid19/refresh

RESTful 是一种风格而不是一个规约,有些动作确实无法转换成名词的形式,用动词也无妨。

比如 GitHub 的 API 你会发现大部分都是遵循 RESTful 风格的,但也有少部分是动词形式,没问题的。

我司的习惯是,如果一个接口是动词,那么会加前缀 action- 以示区分,比如验证身份证号:[POST] /api/idcard/action-verify

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进