我对春天有点陌生,很抱歉,这是一个愚蠢的问题。
我已经在有多个输入的spring boot应用程序中创建了一个html页面。因此,表单看起来像这样:
<!-- some code -->
<input type="text" id="cinClient" name="cinClient" placeholder="CIN Client" th:value="${blog!=null and blog.cinClient!=null }?${blog.cinClient}:''" required="true">
<!-- some code -->
控制器的功能是
@PostMapping("/blogs/save")
@ResponseBody
public Result save(@RequestParam("cinClient") String cinClient{
Blog blog = new Blog();
blog.setCinClient(cinClient);
if ("success".equals(saveBlogResult)) {
return ResultGenerator.genSuccessResult("Transaction sauvegarde !");
} else {
return ResultGenerator.genFailResult(saveBlogResult);
}
}
当我运行Spring应用程序并单击表单按钮时,在控制台上出现以下异常:
Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'cinClient' is not present]
我实际上已经尝试过在Google上看到的所有解决方案,但问题仍然存在。
答案 0 :(得分:0)
@RequestParam
用于查询参数,例如:http://localhost:8080/blogs/save?cinClient=myValue
如果您发送的是不带此查询参数的POST(如@PostMapping
所示),但将正文发送给请求,则您应该收到:public Result save(@RequestBody MyRequest request)
和此MyRequest
课程就像:
public class MyRequest {
private String cinClient;
//getters and setters
}