今天在新增1个接口的时候请求接口一直400,无任何错误信息,接口代码如下:
@SaveLog(name = "同步商品档案") @ApiOperation(value = "同步商品档案", notes = "同步商品档案") @PostMapping(value = "/sync", produces = "application/json;charset=UTF-8") public void sync(@RequestBody StyleBillsRequest req) throws IOException { iRetailDataService.sync(req); }
经过同事的指点可能是请求参数json和实体对象有差异,结构可能不正确,我检查半天无果,于是先通过json接收再转换为实体对象。更换代码如下:
@SaveLog(name = "同步商品档案") @ApiOperation(value = "同步商品档案", notes = "同步商品档案") @PostMapping(value = "/sync", produces = "application/json;charset=UTF-8") public void sync(@RequestBody JSONObject data) throws IOException { // 转换Json实体对象 StyleBillsRequest req = JsonUtil.JsonToBean(JsonUtil.toJSONString(data), StyleBillsRequest.class); // 同步商品档案信息 iRetailDataService.sync(req); }
这样修改代码后会报错部分字段的值无法转换,很清晰的了解到json结构中哪些字段有问题,方便修改。
public class test { public static void main(String[] args) { &...
java一个类可以有多个构造方法,根据传参类型和个数来匹配执行哪个构造方法。public class Member { public Member(){  ...
java限制1个方法同一时间只能被一个线程访问public synchronized void setOrderPay(){ }加上synchronized 修饰符即可...
(1).final 修饰符通常和 static 修饰符一起使用来创建类常量。(2).父类中的 final 方法可以被子类继承,但是不能被子类重写,声明 final 方法的主要目的是防止该方法的内容被修改。public class Member {  ...
在java中字符串属于对象,刚开始我就疑惑为什么int char等类型都是小写,结果String是大写,java太反人类,后来才知道String是对象。(1).java创建字符串String text = "net"; String tex...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...