拥有 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。
我有以下端点,我希望它们更多 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。