我有一个应用程序,需要用户输入个人信息(姓名、道布等)。并在数据库中寻找匹配项。我不是在创建记录,也不是编辑记录。
现在我通常会使用GET,但是GET不允许我使用一个身体,所有需要检查的数据都必须发送上来。我对所有用户的输入运行数据库查询以找到匹配项。如果数据库返回一个匹配项,则会找到一个匹配项,否则将返回一个空数组,而没有找到匹配项。
那么,您能推荐我可能使用的正确的RESTful方法(HTTP)吗?
谢谢
发布于 2019-03-19 10:26:58
由于POST操作的有效负载的语义是由服务本身定义的,因此应该在其他操作不适合的情况下使用它。因此,POST不仅用于创建新资源,而且还用于触发某些计算和类似的东西。
然而,一般的问题是,你为什么需要这样的方法?如果您担心在获取资源的状态和请求更新之间覆盖其他客户端对资源所做的任何更改,则应该考虑使用RFC 7232中定义的条件请求,其中为当前状态计算ETag哈希,或者将Last-Modified值添加到响应标头。然后,客户端可以发送包括有效负载在内的请求,以便首先检查,包括一个If-Match或If-Unmodified-Since头,请求服务器仅在前提条件保持时应用更新。如果失败,服务器会告诉您这是一个412 Precondition Failed错误响应。
https://stackoverflow.com/questions/55237706
复制相似问题