一、问题描述

使用Springboot JPA 做分页查询,报错Required String parameter 'xx' is not present,后端未接受到请求

二、解决方案:

使用的请求方法是GetMapping,这时候传不了参数,需要改为PostMapping才会有效

错误源码:

注意注解:@GetMapping

 package com.easylab.rentshop.controller;

 import com.easylab.rentshop.base.BaseResource;
import com.easylab.rentshop.service.DepartmentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*; import java.util.Map; /******************************
* @author : liuyang
* <p>ProjectName:rent-shop </p>
* @ClassName : DepartmentController
* @date : 2018/6/13 0013
* @time : 15:31
* @createTime 2018-06-13 15:31
* @version : 2.0
* @description :
*
*
*
*******************************/ @RestController
@RequestMapping("department")
public class DepartmentController { @Autowired
private DepartmentService departmentService; /**
* @param pageStr
* @param pageSizeStr
* @return Page
* <p>
* <p>
* required和defaultValue设置当请求没有参数的时候,默认设置参数值为1
* 采用String类型接受,防止传入abc这种情况导致程序死掉
*/
@GetMapping("/departmentPage")
public Object departmentPage(@RequestParam(value = "pageStr", required = false, defaultValue = "1") String pageStr,
@RequestParam(value = "pageSizeStr") String pageSizeStr) { int pageNo = 1; try {
pageNo = Integer.valueOf(pageStr); if (pageNo < 1) {
pageNo = 1;
}
} catch (Exception e) {
} int pageSize = 0; try {
pageSize = Integer.valueOf(pageSizeStr); if (pageSize < 1) {
pageSize = 5;
}
} catch (Exception e) {
} Page page = departmentService.getPage(pageNo, pageSize); return new BaseResource(page);
} }

修改后:

 package com.easylab.rentshop.controller;

 import com.easylab.rentshop.base.BaseResource;
import com.easylab.rentshop.service.DepartmentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*; import java.util.Map; /******************************
* @author : liuyang
* <p>ProjectName:rent-shop </p>
* @ClassName : DepartmentController
* @date : 2018/6/13 0013
* @time : 15:31
* @createTime 2018-06-13 15:31
* @version : 2.0
* @description :
*
*
*
*******************************/ @RestController
@RequestMapping("department")
public class DepartmentController { @Autowired
private DepartmentService departmentService; /**
* @param pageStr
* @param pageSizeStr
* @return Page
* <p>
* <p>
* required和defaultValue设置当请求没有参数的时候,默认设置参数值为1
* 采用String类型接受,防止传入abc这种情况导致程序死掉
*/
@PostMapping("/departmentPage")
public Object departmentPage(@RequestParam(value = "pageStr", required = false, defaultValue = "1") String pageStr,
@RequestParam(value = "pageSizeStr") String pageSizeStr) { int pageNo = 1; try {
pageNo = Integer.valueOf(pageStr); if (pageNo < 1) {
pageNo = 1;
}
} catch (Exception e) {
} int pageSize = 0; try {
pageSize = Integer.valueOf(pageSizeStr); if (pageSize < 1) {
pageSize = 5;
}
} catch (Exception e) {
} Page page = departmentService.getPage(pageNo, pageSize); return new BaseResource(page);
} }

使用PostMan进行接口测试:

Jpa 报错 :HTTP Status 400 - Required String parameter 'xx' is not present的更多相关文章

  1. HTTP Status 400 - Required String parameter 'userName' is not present 错误

    HTTP Status 400 - Required String parameter 'userName' is not present 错误 先mark  有时间详细写 参考链接: https:/ ...

  2. 报错:required string parameter XXX is not present

    报错:required string parameter XXX is not present 不同工具发起的get/delete请求,大多数不支持@RequestParam,只支持@PathVari ...

  3. 后台接收参数报错 Required String parameter 'id' is not present

    来自:https://blog.csdn.net/qq_15238647/article/details/81539287 关于ajax请求spring后台出现 Required String par ...

  4. 400错误,Required String parameter 'paramter' is not present

    1.就拿简单的登录来说吧,这是开始的代码 @RequestMapping(value="/login")public ModelAndView login(@RequestPara ...

  5. required string parameter XXX is not present

    @RequestParam jQuery调用方式: deleteFile: function(filePath) { return ajax({ method: 'POST', url: '/cm/s ...

  6. required string parameter 'XXX'is not present 的几种情况

    required string parameter 'XXX'is not present 的几种情况 情况一:原因是由于头文件类型不对,可以在MediaType中选择合适的类型,例如GET和POST ...

  7. org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'xxxx' is not present

    org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'xxx ...

  8. Required String parameter 'id' is not present

    问题详情:       简单的说,我就是通过ajax发起了一个post请求到后台,但是后台没有收到请求发过去的参数,并且还报了这样的错误.       错误描述告诉我们,请求参数里面并没有存在id.我 ...

  9. springmvc 传参Required String parameter 'xxxx' is not present

    报错 请求因该是已经被分配了,但是参数补全,无法被执行 加上这个参数就好了,表示请求参数,可以为空 这样的好处是,可以进入controller之后再去判断,比较好定位错误

随机推荐

  1. Java通过遍历sessionId获取服务器所有会话session

    Servlet2.1之后不支持SessionContext里面getSession(String id)方法,也不存在遍历所有会话Session的方法.但是,我们可以通过HttpSessionList ...

  2. SSH Secure Shell链接Ubuntu报错Server responded "Algorithm negotiation failed"

    vim /etc/ssh/sshd_config Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3 ...

  3. Vue filter-v-for 使用

    var app5 = new Vue({ el: '#app5', data: { shoppingList: [ "Milk", "Donuts", &quo ...

  4. Vim完全教程

    一.简介 世界上只有三种编辑器,EMACS.VIM和其它.   我们所处的时代是非常幸运的,有越来越多的编辑器,相对于古老的VIM和EMACS,它们被称为现代编辑器.我们来看看这两个古董有多大年纪了: ...

  5. css font-size=0的妙用

    转自:css font-size=0有什么妙用? 回答一: 问题的根源是 inline(a标签默认是display:inline) 和 inline-block (.list-info 设置的是 di ...

  6. 2019年学Java开发有优势吗?

    随着信息科技的发展,在我们的日程生活和工作中到处充斥和使用着互联网信息技术.事实说明,互联网已经越来越广泛地深入到人们生活的方方面面,Java技术服务市场需求空缺会越来越大.学会一门IT技术,将拥有更 ...

  7. CF487E Tourists - Tarjan缩点 + 树剖 + multiset

    Solution 先Tarjan求出点双联通分量 并缩点. 用$multiset$维护 点双内的最小点权. 容易发现, 点双内的最小点权必须包括与它相连的割边的点权. 所以我们必须想办法来维护. 所以 ...

  8. 强大的easygrid V7 ,可联系作者

    增加历史记录事件 修改bug 修改风格 演示绑定表达式 下载demo

  9. macOS X Mount NFS Share / Set an NFS Client

    last updated November 3, 2018 in CategoriesLinux, Mac OS X, UNIX How do I access my enterprise NAS s ...

  10. Spring PropertyResolver 占位符解析(二)源码分析

    Spring PropertyResolver 占位符解析(二)源码分析 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) ...