记录一下工作中遇到的未解决问题,使用Postman 触发接口,服务器返回的报的请求体找不到的错误
以下是截图:
分析一波:
首先,Postman设置的请求参数,是完全按照方法的参数数据类型设置的,接口方法中的参数:
[
{
"ableFlag": "", #String
"baseId": "3", #String
"baseName": "x厂", #String
"pushSysList": [ #List
"1",
"4"
],
"pushSourceId": "7", #String
"mdIdInfoList": [ #List
{ #Object->Map<k,v>
"mdId": "315",
"mdCode": "111111",
"mdName": "辽宁大连市旅顺口区xxxx"
}
],
"checked": true, #boolean
"isOpen": true #boolean
}
]
其次,Postman中设置的Hearder也正确;
检查一下后端的代码,入参的类型是严格按照定义的list里塞进PushBaseDTO对象。
@SysLog("将数据下发到各mes基地")
@ApiOperation("将数据下发到各mes基地")
@PostMapping("/pushBase")
public R<String> pushBase( @Valid @RequestBody List<PushBaseDTO> pushBaseDTOS) {
//下发BOM时需要调用转换格式方法
String pushSourceId = pushBaseDTOS.get(0).getPushSourceId();//下发来源ID
if (!StringUtils.isEmpty(pushSourceId)&&PushSourceEnum.BOM.getPushSourceId().equals(pushSourceId)) {
return bomService.bomPushBase(pushBaseDTOS);
}
return service.pushBase(pushBaseDTOS);
}
先记录下。。。