MissingServletRequestParameterException: обязательный параметр String 'cinClient' отсутствует - PullRequest
1 голос
/ 30 июня 2019

Я новичок в весне, извините, если это глупый вопрос.
Я создал 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 голосов
/ 30 июня 2019

@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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...