下面的代码使用的是Get请求,但是使用了@RequestBody进行数据的封装,导致错误的原代码如下所示:

@GetMapping("findAllByPageInterface")
	public  @ResponseBody ApiResponse findAllByPage(@RequestBody findStockOutReq stockOutReq) {
		//判断获取的页面是否为空
		if(stockOutReq.getLimit() <= 0) {
			stockOutReq.setLimit(10);
		}
		if(stockOutReq.getPage() <= 0) {
			stockOutReq.setPage(1);
		}
		ApiData data = null;
		try {
			data = service.findAllByPage(stockOutReq);
		} catch(Exception e) {
			logger.error("出库单数据查询异常,异常消息:"+e.getMessage());
			return ApiResponse.ofSuccess("数据查询异常,稍后请重试!");
		}
		return ApiResponse.ofSuccess(data);
	}

因为Get请求发送数据的方式不是json格式,所以当我们使用@RequsetBody封装Get请求的数据时就会出现无法获取到数据的情况,我们可以做如下修改就可以解决:

@GetMapping("findAllByPageInterface")
	public  @ResponseBody ApiResponse findAllByPage(findStockOutReq stockOutReq) {
		//判断获取的页面是否为空
		if(stockOutReq.getLimit() <= 0) {
			stockOutReq.setLimit(10);
		}
		if(stockOutReq.getPage() <= 0) {
			stockOutReq.setPage(1);
		}
		ApiData data = null;
		try {
			data = service.findAllByPage(stockOutReq);
		} catch(Exception e) {
			logger.error("出库单数据查询异常,异常消息:"+e.getMessage());
			return ApiResponse.ofSuccess("数据查询异常,稍后请重试!");
		}
		return ApiResponse.ofSuccess(data);
	}

在上面的代码中我将@RequsetBody注解去掉,也是可以将数据封入对象的