一、问题描述

使用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. f5基本介绍

    1.信息查看 1)登录: https://10.160.100.10 f5有2台,做HA IP地址分别为10.160.100.3和10.160.100.2 10.160.100.10为虚拟地址 2)基 ...

  2. Oauth2.0 认证的Web api例子

    Oauth2.0的解释 OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容.OA ...

  3. mySLQ数据库 练习题

    MySQL 练习题1 DROP TABLE IF EXISTS `liuyan`; CREATE TABLE `liuyan` ( `id` int(11) NOT NULL AUTO_INCREME ...

  4. json与字符串转换

    一.json转为字符串 JSON.stringify(...) 二.字符串转为json JSON.parse(...)

  5. C# 关闭进程的时候总是捕捉到System.Threading.ThreadAbortException: 正在中止线程

    C# 关闭进程的时候总是捕捉到System.Threading.ThreadAbortException: 正在中止线程 这是由ThreadAbortException抛出的 可以写成下面的样子 tr ...

  6. PAT 1026 程序运行时间(15)(C++&Java&Python)

    1026 程序运行时间(15)(15 分) 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间 ...

  7. PAT 1007 素数对猜想(20)

    1007 素数对猜想(20 分) 让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数.显然有d​1​​=1,且对于n>1有d​n​​是偶数."素 ...

  8. Maven的conf目录下settings.xml的简单配置

    省略一些其他配置 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="h ...

  9. Oracle VM VirtualBox如何设置网络地址转换NAT

    使用VirtualBox 安装好服务器后,需要设置网络,如果有IP, 则可以直接连接物理网络了, 如果没有,则可以直接使用NAT网络.设置方便快速. 先将虚拟机中的网络设置为自动获取,然后点击Virt ...

  10. day1-windows下python和selenium的安装

    这是一个完整的安装包,下载下来是一个.exe的文件 只需双击,下一步下一步默认安装即可 python从2.7开始都会携带pip插件,做了scripe的环境变量可以,在网络畅通的情况下可以在cmd的命令 ...