有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Tomcat拒绝所有POST请求

我在Spring中创建了restapi,它返回的值在body请求中作为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/" }

问题是我正在使用POSTMAN发出POST请求。请求主体是这样的:

{ "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就是项目配置


共 (1) 个答案

  1. # 1 楼答案

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

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

    读取错误(通常)可以解释错误