java - 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 或项目配置。
解决方案
您需要将您的请求从GET更改为POST。您从请求中收到的错误消息证明了这一点:
"error": "Method Not Allowed",
"message": "Request method 'GET' not supported",
阅读错误(通常)解释了错误。
推荐阅读
- reactjs - 我应该如何在反应中初始化加载标志?
- firebase - 如果我不希望用户登录,如何保护 Firebase 数据库?
- c# - XAMDataGrid:在网格内拖动行
- java - OCR 特定的近似字符串匹配库
- angularjs - 如何在打字稿中使用 this.$scope.$on,AngularJS1.7
- python - 如何使用 time.Time() 控制弹丸射速
- xamarin.ios - 解决 Xamarin AOT 错误
- java - 如果以后想通过多个属性搜索对象,如何存储对象?
- reactjs - 反应地图未定义错误
- json - 如何访问 json 属性 laravel