哪个REST操作(用于获取信息的REST操作(GET,PUT或POST)?

问题描述 投票:25回答:3

我的用户在iOS应用中输入了一些信息字段。必须在具有RESTful API的服务器上验证此信息。验证后,iOS应用程序的UI会更改以指示结果。

GET,PUT或POST都不适合,因为我没有资源,也没有创建或更新资源。

什么是最适合实施此验证的REST操作?

http rest post asp.net-web-api put
3个回答
6
投票

我的用户输入在iOS应用中的一些信息字段。这条信息必须在具有RESTful API的服务器上经过验证。后验证iOS应用程序的UI更改以指示结果。...我没有获取资源,也没有创建或更新资源。

由于您不保存任何内容(不修改任何资源),所以我认为从技术上讲,这比RESTful更多的是RPC。

以下是我的观点,所以不要把它当作福音:

[如果只是简单地提交信息,并且您说是或否,并且您没有保存它,我想说POST很好。。

如果实际上正在保存/更新信息,那么选择适当的HTTP方法将更加重要。

POST = CREATE / SUBMIT (in an RPC context)
PUT = UPDATE (or CREATE if there is nothing to UPDATE)

7
投票

我使用与您相同的方案,并使用PUT。您必须问自己:“当我两次发送相同的请求时,这会在服务器上产生不同的状态吗?”如果是,请使用POST,否则请使用PUT。


5
投票

我建议使用ValidationResource和两个请求。此资源的每个实例代表一组数据的验证。工作流程:

1。创建新的ValidationResource

  • 请求:POST /path/to/validations
    • 要验证为正文的数据
  • Response:201 Created
    • Location: /path/to/validations/<unique-id-of-this-validation>

2。查询结果

  • 请求: GET /path/to/validations/<unique-id-of-this-validation>
  • 响应:200 OK
    • 正文:{'valid': true}{'valid': false}

这是一种RESTful方法,其中验证是具有服务器状态的资源。

© www.soinside.com 2019 - 2024. All rights reserved.