MissingServletRequestParameterException:所需的字符串参数“ cinClient”不存在

时间:2019-06-30 11:04:45

标签: java spring spring-boot thymeleaf

我对春天有点陌生,很抱歉,这是一个愚蠢的问题。
我已经在有多个输入的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上看到的所有解决方案,但问题仍然存在。

1 个答案:

答案 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
}