java - Spring Boot 为 POST 到未知 URL 返回 405 而不是 404

标签 java spring-boot

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

我想让 Spring Boot 在尝试 POST 到不存在的 URL 时返回 404。但是,现在它返回 405,带有仅包含 GET 和 HEAD 的 Allow header 。有没有办法自定义允许哪些 HTTP 方法以便我得到 404?我试过实现自定义 ErrorController,但这似乎不起作用。

要清楚:这是当我发布到不应与我定义的端点任何匹配的 URL 时,例如 http://example.com/some-bogus-thing

如果需要更多信息来诊断此问题,我很乐意提供。鉴于我对该平台不熟悉,我不确定什么是相关的。

最佳答案

HTTP 405 (Method not found)返回,when URL exists并且您尝试使用该特定 URL 映射不允许的 HTTP 方法。

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

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

如果任何 HTTP 方法都没有 URL 映射,那么它将返回 HTTP 404。

要了解该特定启动实例上的所有当前映射,只需转到浏览器

http://localhost:8080/mappings

关于java - Spring Boot 为 POST 到未知 URL 返回 405 而不是 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103157/

相关文章:

java - 构建时传输 maven-metadata.xml 失败的警告和解决依赖关系的错误

java - 限制客户端仅使用从 yml 文件创建的配置列表中的一个配置

java - 使 Spring Boot JSON 枚举反序列化严格,因此它不会默默地将无效值转换为 null

Javaw.exe 应用程序未打开,WIndows 10 Pro Surface Pro 4

java - Mockito 说 "Wanted but not invoked"但调试测试跳转到那个方法

Spring Boot Web Socket RabbitMQ 不可用

java - 多个环境的单独属性文件

java - 依赖 Jar 未引用其自己的 application.properties

java - 使用 PHP 检查 Java 文件是否编译成功

java - 以编程方式创建复合过滤器以在 log4j 2 中定义多个过滤器