首页 > 解决方案 > Tomcat 拒绝所有 POST 请求

问题描述

我在 Spring 中创建了 REST API,它返回在正文请求中作为 JSON 传递的值以及一些附加数据。在使用spring-boot一切运行应用程序时工作正常。每次我提出请求时,我都会收到预期值。

我的目标是将这个应用程序部署Tomcat在端口上8080。在Tomcat所有POST请求上部署应用程序后都被拒绝,我收到以下错误:

{ "timestamp": "2019-07-11T12:33:41.877+0000", "status": 405, "error": "Method Not Allowed", "message": "Request method 'GET' not supported", "path": "/test/" }

问题是我正在POST使用POSTMAN. 这是请求正文的样子:

{ "username":"somebody" }

我的 API 代码:

@RestController
public class Test{

    @RequestMapping(value = "/", method = RequestMethod.POST)
    String token(@RequestBody RequestBodyData requestBody) {

    return "hello" + requestBody.getUsername();
    }

}


为什么我收到此错误?我应该更改 Tomcat 配置还是我的代码不好?

编辑 1 我还在WildFly服务器上部署了这个应用程序,一切都按我的预期工作。我正确使用 Postman,问题是 Tomcat 或项目配置。

标签: javaspringresttomcat

解决方案


您需要将您的请求从GET更改为POST。您从请求中收到的错误消息证明了这一点:

"error": "Method Not Allowed",
"message": "Request method 'GET' not supported",

阅读错误(通常)解释了错误。


推荐阅读