在这种情况下,我不确定是否使用Get或Post路由。
因此,Get用于获取资源,Post用于创建资源。但是如果你实际上只是进入一个模型数据库并进行搜索呢?
例如,如果您只是通过用户的电话号码输入来搜索用户,该怎么办?你用Get还是Post?
发布于 2016-03-09 01:30:24
在这种情况下,您正在查找一条记录,这是一个GET请求。我可以理解您为什么感到困惑,因为您认为POST是通过表单传入一组参数。
通常,在创建或更新记录时使用POST操作(但对于后者,我将使用PUT或修补程序)。我不相信你把电话号码输入作为一个新的记录。您只需将电话号码作为参数传递给GET请求即可。在控制器操作中,您可以获取参数并将其传递给您的模型,以便进行查找。
发布于 2016-03-09 06:20:10
通常,您希望使用GET
请求查询资源/资源。用于创建资源的POST
。用于更新完整资源的PUT
。用于部分更新资源的PATCH
。最后是用于破坏资源的DELETE
。
由于您的请求是为了查询资源/资源,所以与GET
请求一起使用是很好的。在这个场景中,使用GET
请求的另一个好处是,最终用户可以在搜索之后对url进行书签,如果他稍后访问标记为url的书签,它仍然可以正常工作。但是,如果您使用POST
并呈现它而不是重定向,那么如果最终用户书签为url,那么当他/她以后尝试访问书签url时,浏览器将发出警告。
发布于 2016-03-09 01:34:09
因为您试图定位用户记录,所以您需要使用GET请求。
正如您所说的,GET请求在给定的位置返回资源。
因此,您可能会对自己说,“我需要从服务器获得用户11”。然后你想要写一个请求给服务器,上面写着“给我存储在”/ User /11“的用户记录--如果这是一个有效的路由(也就是说,如果有这样的记录),服务器会说,”给您“作为响应。
这与员额请求形成了鲜明对比。
在一个帖子请求中,你可能会对自己说,“我需要更新用户11的电话号码”。因此,在这种情况下,您将使用类似于“user/11/edit”的路由编写POST请求,并将额外的数据传递给该记录。在这种情况下,只要用户11存在,服务器就会响应,“好的,我做到了。”
https://stackoverflow.com/questions/35881231
复制相似问题