今天在新增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结构中哪些字段有问题,方便修改。
java限制1个方法同一时间只能被一个线程访问public synchronized void setOrderPay(){ }加上synchronized 修饰符即可...
在java中字符串属于对象,刚开始我就疑惑为什么int char等类型都是小写,结果String是大写,java太反人类,后来才知道String是对象。(1).java创建字符串String text = "net"; String tex...
(1).创建数组double[] myList = new double[size]; //推荐创建方式 double myList[] = new double[size];  ...
(1).java获取当前日期时间Date date = new Date(); System.out.println(date.toString());输出Fri Jul 02 10:29:55 CST 2021(2).java获取时间戳秒/毫秒D...
System.out.println("当前时间戳(秒): " + System.currentTimeMillis()/1000); System.out.println("当前时间戳(毫秒): " +&nb...
java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...