Required request body is missing 错误解决

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

一般在工作中都会使用Post 请求加Json 请求接口,同时使用@RequsetBody接收Json 数据,使用GET请求来获取URL中的数据,这是共识,由于代码是自己刚出来的时候写的,后来也没有合适的示例,就再也没改过

@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注解去掉,也是可以将数据封入对象的

2021年8月4日补充:

下方评论很多人都说去掉以后接收的数据变为空可以试试@RequestParam这个注解,另外有问题可以加我微信:j2565338472请备注优快云

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值