我有以下端点,我希望它们更加安静。 (也许只有一个帖子,但我不确定)
.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
最好删除
答案 0 :(得分:0)
REST基于资源。您的两个选项中没有资源,API不遵循指南。阅读或阅读教程可能会付出代价。
发布报告RESTful看起来像这样。使用复数形式的资源:
POST /users/{id}/reports
您选择特定用户并将新项目发布到reports
集合中。 REST中的动作词没有像upload
这样的东西,但是当指南不够具体并且您可能需要沿着这条路走下去时,有一些边缘情况 - 通常在{{1}仅限案例。
关于POST和GET:PATCH
用于获取资源。不要用它来创建数据。 GET
用于接受您发送的资源。 POST
用于更改现有资源。有关所有可用HTTP动词的简单说明,请参阅Wikipedia。