一、问题描述

使用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. 【Linux 线程】常用线程函数复习《四》

    1.线程属性的设置 /************************************************************************* > File Name: ...

  2. python使用elasticsearch模块操作elasticsearch

    1.创建索引 命令如下 from elasticsearch import Elasticsearch es = Elasticsearch([{"host":"10.8 ...

  3. declare -A color

    #!/bin/bash ## 声明变量 declare -A color # 定义颜色 # bc_color : background color color[red]="\e[1;31m& ...

  4. Js或 Activex 控件调用打印预览等操作

    <input value="打印" type="button" onclick="javascript:window.print()" ...

  5. setTimeout设置为0的意义

    今天再看 Promise 代码时,有个地方用到了setTimeOut函数,但是第2个参数设为0,顿时懵逼了,这是啥意思? function resolve(newValue) { value = ne ...

  6. Socket(转自 阿里云)

    摘要:Socket-C/S Socket又称"套接字",应用程序 通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. ...

  7. 梦殇 chapter two

    梦殇 chapter two 早晨,推开门.一缕阳光照进来. 今天的天气并不像往日,少了些往日的寒冷与萧瑟.阳光照耀着大地,暖暖的.已经好久见不到太阳了.最近雾气渐入这座城市,使它全部笼罩在阴阴的雾气 ...

  8. spring/spirng boot添加fluent日志-aop

    此项目以aop的形式添加fluent 日志 sample介绍 spring-mvc-aop-helloworld 为spring mvc aop condition toolcommontest 为s ...

  9. visual studio 2017 30天到期,不能输入注册码

    官网下载了visual studio 2017后,第一次安装没有登陆,导致只有30天试用期,虽然还在试用期内,但是无法使用注册码永久使用 解决办法: 1.注册一个微软账号,直接百度搜索“微软账号登陆” ...

  10. 探索未知种族之osg类生物---呼吸分解之advance

    回顾 我们用了两节的内容才堪堪讲解完ViewerBase::frame()函数中调用的realize()---Viewer:: realize()函数.我们简单的总结就是Viewer:: realiz ...