拥有 restful 个端点的正确方法

correct way to have restful endpoints

我有以下端点,我希望它们更多 restful。 (也许只有一个 post 但我不确定)

.route('/xyz/:testId/report')
.post( testController.generateReport)  //automatically create file and 
                                        //update database, is this can be a get? as user is not posting any data

.route('/test/:testId/report/upload')
.post( testController.upload)  // user-client posting a report 

删除什么内容最好

REST 基于资源。您的两个选项中没有资源,并且 API 不遵循指南。阅读它或通过教程 运行 可能是值得的。

以 REST 方式发布报告如下所示。为您的资源使用复数形式:

POST /users/{id}/reports

您 select 一个特定用户和 post 一个新项目进入 reports 集合。 REST 中没有诸如 upload 之类的动作词之类的东西,但在某些边缘情况下,指南不够具体,您可能需要沿着这条路走下去——通常是在 PATCH 情况下只有.

关于 POST 和 GET:GET 用于 获取 资源。不要用它来创建数据。 POST 用于 接受 您发送的资源。 PATCH 用于更改 现有资源。有关所有可用 HTTP 动词的简单说明,请参阅 Wikipedia