zoukankan      html  css  js  c++  java
  • Spring MVC同一方法返回JSON/XML格式

    最近一道面试题,要求同一API接口支持不同格式返回值。一开始是设想通过过滤器(Filter)设置返回值,但是并不可行,因为方法返回值一般都是类型需要做转换,而过滤器则是前置的。另一方面可以通过拦截器的postHandle中进行处理,这里介绍另外一种方法。

    1.Controller方法增加ReponseBody注解

        @ResponseBody
        @RequestMapping("/getModule")
        public ReponseResult GetModuleList(){
            List<Module> list = new LinkedList<Module>();
            Module m1=new Module();
            m1.setId(1);
            m1.setModulename("test");
            list.add(m1);
            ReponseResult result=new ReponseResult(list,true,null);
            return result;
        }
    

      

    2.返回类型增加XML格式支持

    @XmlRootElement
    public class ReponseResult implements Serializable {
        //region 属性
        public List<Module> getData() {
            return data;
        }
    
        public void setData(List<Module> data) {
            this.data = data;
        }
    
        private List<Module> data;
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    
        private String message;
    
    
        public boolean isSuccess() {
            return success;
        }
    
        public void setSuccess(boolean success) {
            this.success = success;
        }
    
        private boolean success;
        //endregion
    
    
        public ReponseResult() {
        }
    
        public ReponseResult(List<Module> _data, boolean _success, String _message) {
            this.data = _data;
            this.success = _success;
            this.message = _message;
        }
    
    }
    

      

    3.Spring MVC源码中根据Requester.Header中的Accept决定返回什么格式

    参考文档:http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html

    https://blog.csdn.net/fw0124/article/details/48312317

    4.使用PostMan请求

  • 相关阅读:
    快速排序
    09-HQL:Group、Order
    08-表属性操作
    07-数据导出及动态分区
    06-数据加载
    05-Hive数据操作
    04-表操作2
    03-表操作1
    [原创]IPV4分组的格式
    mysql中having和where的区别
  • 原文地址:https://www.cnblogs.com/xcong/p/8992935.html
Copyright © 2011-2022 走看看