我在 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代码:@RestControllerpublic class Test{ @RequestMapping(value = "/", method = RequestMethod.POST) String token(@RequestBody RequestBodyData requestBody) { return "hello" + requestBody.getUsername(); }}为什么我会收到此错误?我应该更改 Tomcat 配置还是我的代码有问题?编辑 1 我还在WildFly服务器上部署了这个应用程序,一切都按我预期的那样工作。我正确使用 Postman,问题是 Tomcat 或项目配置。
2 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
您需要将请求从GET更改为POST。您从请求中返回的错误消息证明了这一点:
"error": "Method Not Allowed",
"message": "Request method 'GET' not supported",
阅读错误(通常)可以解释错误。
呼如林
TA贡献1798条经验 获得超3个赞
将端点从 更改为/和/user/call from tomcat as /test/user/
( /appNameAsPerTomcat/user/ )
@RestController
public class Test{
@RequestMapping(value = "/user/", method = RequestMethod.POST)
String token(@RequestBody RequestBodyData requestBody) {
return "hello" + requestBody.getUsername();
}
}
添加回答
举报
0/150
提交
取消