luobodun 2019-04-28 10:05 采纳率: 0%
浏览 1700
已采纳

对返回结果进行了统一封装,怎么使用@JsonView注解

 @RequiresPermissions({"manager:view"})
    @RequestMapping("/getManagers")
    @JsonView(Manager.simpleManager.class)
    public Result getManagers(){
        Result result = new Result();
        List<Manager> managers = managerService.selectList(null);
        if(managers!=null){
            result.setCode(1);
            result.setData(managers);
            result.setMsg("查询成功");
        } else {
            result.setCode(0);
            result.setMsg("查询失败");
        }
        return result;
    }

封装的返回

public class Result {
    private String msg;
    private Integer code;
    private Object data;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}

只有把返回改成List才有效,我这种情况应怎么处理?

  • 写回答

2条回答 默认 最新

  • luobodun 2019-04-28 17:47
    关注
         * 查询所有管理员
         * @return
         */
    
        @RequiresPermissions({"manager:view"})
        @RequestMapping("/getManagers")
    //    @JsonView(Manager.simpleManager.class)
        public Result getManagers(){
            Result result = new Result();
            JsonConfig jc=new JsonConfig();
            // 使用setExcludes方法过滤,例如我不想要对象中的roleinfo和departmentInfo:
            jc.setExcludes(new String[]{"password","salt","roles","roleSet","shops","permissionsSet"});
            // 最后转换出来的字符串就会过滤掉我们不要的属性。
            List<Manager> managers = managerService.selectList(null);
            String newArray = JSONArray.fromObject(managers,jc).toString();
            if(managers!=null){
                result.setCode(1);
                result.setData(JSONObject.parse(newArray));
                result.setMsg("查询成功");
            } else {
                result.setCode(0);
                result.setMsg("查询失败");
            }
            return result;
        }
    
    

    使用JsonConfig过滤解决了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!