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

对返回结果进行了统一封装,怎么使用@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条)

报告相同问题?

悬赏问题

  • ¥15 Mac虚拟机安装Windows,Windows中用idea跑项目,报错process finished with exit code -1073741819(0xc0000005) 如何解决?
  • ¥15 关于python爬虫返回js数据结构的处理
  • ¥15 ubuntu所用stm32标准库开发烧录没反映
  • ¥15 运维工程师(在职人员回答)
  • ¥15 python 爬虫问题
  • ¥15 Kmeans的趋势分析有会的吗
  • ¥20 R语言单细胞测序 对seurat对象进行标准化时出现问题
  • ¥15 Anaconda navigator updateor一直更新
  • ¥15 请问如何在matlab里使用raven工具?
  • ¥100 关于ios手游充值到一定金额,再点充值提示公众号的问题。