java - Rest 中的 Post 方法总是返回 '405 Method Not Allowed' 但在我的开发机器上工作正常

标签 java spring rest

我在 Spring Boot 中使用 jetty,并实现了一些休息调用,所有 get 方法在环境 devqa 中都工作正常,但 post 始终是返回“405 Method Not allowed”,我检查了标题、正文和其他参数等所有内容,一切似乎都是正确的。

我正在使用 Spring 休息实现,任何想法为什么它失败。

方法定义:

 @RequestMapping(value ="/resub" ,method=RequestMethod.POST )
 public ResponseEntity<?> resub(@RequestBody Subscription Subscription,HttpServletRequest request ){
    try {
           // call to other service methods
        //}
        } catch (Exception e) {
          if(e instanceof HttpClientErrorException)
              return commonUtil.getExceptionResponse(e.getMessage());
          else 
              return commonUtil.getExceptionResponse("Unknown Error Occured");  }
    }

最佳答案

这个答案确实应该是一条评论,但不幸的是我还没有 50 次代表。

我注意到的第一个问题是,您在 resub() 函数到达 catch 语句之前就关闭了它。

但这并不能解释为什么您会收到 405 http 状态响应。

“此问题的主要原因是使用了错误的方法(不适用于您的情况)或为同一动词/方法定义了多个处理程序,并且其中一个处理程序正在阻止预期处理程序处理请求. ... IIS 根据 applicationHost.config 和 web.config 文件中的顺序处理程序条目从头到尾处理处理程序,其中第一个匹配的路径、动词、资源等组合将用于处理请求[1]”。

希望这会有所帮助,如果没有请告诉我,我可以继续尝试提供帮助:)

[1] - https://www.asp.net/web-api/overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications

关于java - Rest 中的 Post 方法总是返回 '405 Method Not Allowed' 但在我的开发机器上工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858262/

相关文章:

java - 无法在测试中创建表(Hibernate 和 H2)

java - 计算文本文件中的空格数以查找其字数

java - Spring - 动态添加和删除计划任务

java - notnoop java-apns 抛出 javax.net.ssl.SSLHandshakeException :Received fatal alert: handshake_failure

AZURE REST API - 作为 Azure 应用服务或 Azure 函数应用的快速 API,以 Http 触发的函数作为端点?

rest - 可以将语义信息放入 REST API 的 HTTP 原因短语中吗?

java - if 语句之外的变量访问

java - 访问 setOnTouchListener 中的循环变量

java - Spring Framework - java.lang.IncompatibleClassChangeError : class net. sf.cglib.core.DebuggingClassWriter 有接口(interface) org.objectweb.asm.ClassVisitor

java - Google oauth java 客户端获取访问 token 失败,出现 “400 Bad Request { ” 错误“: ”invalid_request“}”