正确的方法来拥有宁静的终点

时间:2018-02-13 20:57:37

标签: rest restful-architecture

我有以下端点,我希望它们更加安静。 (也许只有一个帖子,但我不确定)

.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 

最好删除

1 个答案:

答案 0 :(得分:0)

REST基于资源。您的两个选项中没有资源,API不遵循指南。阅读或阅读教程可能会付出代价。

发布报告RESTful看起来像这样。使用复数形式的资源:

POST /users/{id}/reports

您选择特定用户并将新项目发布到reports集合中。 REST中的动作词没有像upload这样的东西,但是当指南不够具体并且您可能需要沿着这条路走下去时,有一些边缘情况 - 通常在{{1}仅限案例。

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