我刚刚开始使用Spring,我正在尝试在休息控制器中接收一个form-urlencoded的POST主体,但我不能让我的生活让它工作.这是我的"Hello World"-esque控制器:
@RestController
public class MyController {
@ResponseBody
@RequestMapping(
value = "/",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE,
produces = MediaType.TEXT_PLAIN_VALUE
)
public String index(@RequestBody String text) {
return "Text: " + text;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了很多不同的变体,都有不同的错误.当从Postman接收带有"text"参数的POST请求时,上面的特定配置会产生以下错误.
Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public java.lang.String com.mywebsite.controllers.MyController.index(java.lang.String)
Run Code Online (Sandbox Code Playgroud)
我查看了许多关于此主题的其他stackoverflow帖子,并试图实现他们的各种解决方案无济于事.这是最有前途的列表:
还有一些我再也找不到了,对于这些帖子中的大部分,我每次都尝试调整注释.当我尝试GET和JSON POST请求时,我取得了很大的成功,但由于某些原因,这些urlencoded请求拒绝工作.