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 或项目配置。


子衿沉夜
浏览 152回答 2
2回答

牛魔王的故事

您需要将请求从GET更改为POST。您从请求中返回的错误消息证明了这一点:"error": "Method Not Allowed","message": "Request method 'GET' not supported",阅读错误(通常)可以解释错误。

呼如林

将端点从 更改为/和/user/call from tomcat as /test/user/( /appNameAsPerTomcat/user/ )@RestControllerpublic class Test{    @RequestMapping(value = "/user/", method = RequestMethod.POST)    String token(@RequestBody RequestBodyData requestBody) {    return "hello" + requestBody.getUsername();    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java