发表于: 2019-11-09 23:28:48
1 1042
一、今天完成的事情:
主要完成角色管理模块。
二、明天计划的事情:
主要完成账户管理模块。
三、遇到的问题:
接受到前台json的时候,解析失败。
用map接受json数据,不能转换成JSONObject. LinkedHashMap不能转换成Json
debug会发现map里面是两种结构。
解决方法
1.直接使用Map<String,Object>对象来接
使用Map<String,Object> map = data,然后使用map.get()来获取里面的值。
注意:如果有多个字段的话,不建议使用这样来做,太傻了。
2.使用JSON字符串来转对象
使用阿里的fastJson来将这个linkedHashMap转换成对象。
JSON.parseObject(JSON.toJSONString(数据), new TypeReference<对象>() {});
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
public Result updateRole(@RequestBody Map map){
Role role = JSON.parseObject(JSON.toJSONString(map.get("role")), new TypeReference<Role>() {
});
四、收获:
1.对于前期准备工作做的越充分,之后会做的越快。方案设计设计好,接口文档写好,直接照着写就好了。今天写接口,发现接口文档中给出的示例不是最优的,有些字段也没有考虑到。当写controller的逻辑的时候,才发现有些要改。写接口文档的时候,也没有把逻辑屡清楚,有些是看着原型图写的,觉的这些字段应该有。其实,传给前台只有一个id字段就可以了,不用那么多。
评论