Spring Boot返回405而不是404,用于POST到未知URL

时间:2015-05-07 13:51:46

标签: java spring-boot

免责声明:我是Java,Spring和Spring Boot的新手。

我想在尝试POST到不存在的URL时让Spring Boot返回404。但是,现在它返回405,其Allow标头只包含GET和HEAD。有没有办法自定义允许哪些HTTP方法,以便我得到404?我尝试过实现自定义的ErrorController,但似乎无法正常工作。

要明确:这是我发布到一个不应与任何我定义的端点匹配的网址的时候,例如{ {3}}

如果需要更多信息来诊断这一点,我很乐意提供。由于我对平台不熟悉,我不确定相关的是什么。

3 个答案:

答案 0 :(得分:3)

返回

HTTP 405 (Method not found) when URL exists,并尝试使用特定网址映射不允许的HTTP方法。

如果您在.../test下方调用POST,则它将返回HTTP 405,反之亦然。

@RequestMapping(value = "/test", method = RequestMethod.GET)

如果没有任何HTTP方法的URL映射,则它将返回HTTP 404.

要知道该特定启动实例上的所有当前映射,只需浏览器

即可
http://localhost:8080/mappings

答案 1 :(得分:1)

点击此处: https://github.com/spring-projects/spring-boot/issues/4876

解决方案是设置如下: 弹簧:   MVC:     static-path-pattern:/ static / **

答案 2 :(得分:0)

如果有人仍然遇到此问题: 这是spring框架4.2.4的一个bug,请参考https://github.com/spring-projects/spring-framework/issues/18516 正如它所说,这个问题已经从 4.3 RC1 开始修复。