我的用户在iOS应用中输入了一些信息字段。必须在具有RESTful API的服务器上验证此信息。验证后,iOS应用程序的UI会更改以指示结果。
GET,PUT或POST都不适合,因为我没有资源,也没有创建或更新资源。
什么是最适合实施此验证的REST操作?
我的用户输入在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)
我使用与您相同的方案,并使用PUT。您必须问自己:“当我两次发送相同的请求时,这会在服务器上产生不同的状态吗?”如果是,请使用POST,否则请使用PUT。
我建议使用ValidationResource
和两个请求。此资源的每个实例代表一组数据的验证。工作流程:
1。创建新的ValidationResource
POST /path/to/validations
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方法,其中验证是具有服务器状态的资源。