405方法不允许删除

时间:2019-05-28 18:44:10

标签: java http postman http-delete

当我尝试进行DELETE而没有传递需要删除的资源ID时,出现“ 405方法不允许”的情况。这是我的URL

http://localhost:8080/api/vendors/delete/1234/

理想情况下,我应该在URL的末尾给出ID,例如:

http://localhost:8080/api/vendors/delete/1234/{id}

我相信应该是405,但我的质量检查团队认为不是。他们说应该是400。有人可以向我指出任何明确指定此情况下HTTP代码的资源。

2 个答案:

答案 0 :(得分:1)

  1. 对于您的主要问题,如果方法DELETE,并且路径/api/vendors/delete/1234/对其他方法有效,但对DELETE无效,则405 Method Not Allowed(“请求的资源不支持请求方法”)是正确的,因为该路径上存在一个不支持删除的“资源”,例如它可能支持GET检索供应商列表。

    如果那里没有资源,即方法无关紧要,那么404 Not Found(“找不到请求的资源”)将是正确的响应。

  2. 如果方法是DELETE,而不是GETPUTPOST或其他任何方法,则不需要{{1} }。

  3. 如果要删除Vendor 1234,则路径应为.../delete/...,方法应为http://localhost:8080/api/vendor/1234。动作处理程序应在声明中使用DELETE

答案 1 :(得分:0)

根据我的意见,找不到404或400错误的请求是一个不错的选择。 请同时参考此答案 HTTP Status Codes