出现 MissingServletRequestParameterException: Required String parameter 'pageNumber' is not present 异常的原因是在请求中没有提供名为 pageNumber 的参数。
请确保发送 POST 请求时,在请求的 URL 或请求体中提供了名为 pageNumber 的参数,以满足方法签名中的 @RequestParam("pageNumber") String pageNumber 要求。
你可以尝试以下方法来解决这个问题:
使用路径参数(Path Parameter):
将 pageNumber 参数作为路径的一部分,例如 /saveNoteBook/123,其中 123 是 pageNumber 的值。在方法签名中使用 @PathVariable 注解来获取路径参数:
- @PostMapping("/saveNoteBook/{pageNumber}")
- @ResponseBody
- public void saveNoteBook(@PathVariable("pageNumber") String pageNumber, @RequestBody Map
requestBody) { - // 处理逻辑
- }
使用查询参数(Query Parameter):
将 pageNumber 参数作为查询参数,例如 /saveNoteBook?pageNumber=123。在方法签名中使用 @RequestParam 注解来获取查询参数:
-
- @PostMapping("/saveNoteBook")
- @ResponseBody
- public void saveNoteBook(@RequestParam("pageNumber") String pageNumber, @RequestBody Map
requestBody) { - // 处理逻辑
- }
- $("#saveNoteBook").on("click", function () {
- var content = $("#noteBookText").val();
- $.ajax({
- url: '/saveNoteBook?pageNumber=' + params.pageNumber,
- data: JSON.stringify({"content": content}),
- contentType: 'application/json;charset=utf-8',
- type: 'post',
- success: function (data) {
- $("#noteBookText").val(data.data);
- alert(data.msg);
- }, error: function (err) {
- alert(err)
- }
- });
- });