最近一道面试题,要求同一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;//endregionpublic 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请求

转载于:https://www.cnblogs.com/xcong/p/8992935.html

Spring MVC同一方法返回JSON/XML格式相关推荐

  1. Spring MVC 3.0 返回JSON数据的方法

    Spring MVC 3.0 返回JSON数据的方法 1. 直接 PrintWriter 输出 2. 使用 JSP 视图 3. 使用Spring内置的支持 // Spring MVC 配置 <b ...

  2. Spring MVC Controller中返回json数据中文乱码处理

    问题 在使用spring MVC Controller的过程中,发现返回到客户端的的中文出现乱码.后台Java代码: @RequestMapping(value = "/upload&quo ...

  3. 如何在返回String的Spring MVC @ResponseBody方法中响应HTTP 400错误?

    本文翻译自:How to respond with HTTP 400 error in a Spring MVC @ResponseBody method returning String? I'm ...

  4. spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式

    spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式   在类名,接口头上注解使用在 @JsonIgnoreProperties(value={"comid" ...

  5. php获取控制器返回,从php中的mvc控制器方法返回一个json值

    我想从mvc控制器方法获取json类型值.一切都是正确的但是出现错误'. 我的jquery ajax函数: function user_login(uname,pass){ $.ajax({ url: ...

  6. Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)...

    Spring MVC 学习总结(九)--Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务) 目录 一.JSON 1.1.概要 1.2.使用ModelAndView ...

  7. Spring MVC,Ajax和JSON第3部分–客户端代码

    如果您一直关注有关Spring,Ajax和JSON的简短博客系列,那么您会回想起我到目前为止已经创建了一个Spring MVC Web应用程序,该应用程序显示一个表单,该表单允许用户选择一堆项目并向服 ...

  8. Spring MVC,Ajax和JSON第1部分–设置场景

    我一直在考虑在Spring,Ajax和JSON上写博客,但是我从来没有做过. 这主要是因为它非常复杂,并且所需的技术一直处于变化状态. 当我决定撰写此博客时,我在Internet上有一个侦察员,如果您 ...

  9. Spring MVC,Ajax和JSON第2部分–服务器端代码

    在上一个博客中,我说过我将谈论Spring,Ajax和JSON,但是没有. 原因是我想使用(很少)可信的购物网站场景来设置场景. 在这种情况下,当用户单击"电子商务"页面链接时,服 ...

最新文章

  1. OpenResty上各种测试用例实操(1)
  2. symfony2是什么?
  3. Google Maps Android API v2官网例子使用说明
  4. ASP,VBScript常用的内置函数,lbound(),ubound(),int(),fix(),rnd(),instr(),instrrec(),,
  5. python get score gain_什么是“熵和信息增益”?(What is “entropy and information gain”?)...
  6. Linux内核裁剪及编译
  7. Allegro如何导出生产文件
  8. 算法设计与分析——回溯法——旅行售货员问题
  9. 【二分+二维前缀和】Largest Allowed Area
  10. OpenCV阶段总结扩充。
  11. 【无人机】物流行业迈入“无人”时代!全自动智能无人机投入运营,成本直降80%!...
  12. 依赖反转原理,IoC容器和依赖注入:第4部分
  13. 【RobotStudio学习笔记】(五)工具数据
  14. Android之实现 A/B分区更新固件
  15. 最新CCC认证目录范围(2019)
  16. hibernate mappedBy属性详解!
  17. 京东商城API 商品详情接口
  18. 矩阵正定 matlab,MatLab的:CHOL矩阵必须是正定
  19. 好用又免费的手机投屏到电脑软件
  20. Pandas基础-利用python进行数据分析

热门文章

  1. 计算机教研活动心得体会,信息技术研修教研活动总结
  2. cacti config.php,cacti监控系统的安装配置
  3. js和css被屏蔽了,拦截器 Filter ,js、css、image等静态资源不被拦截解决方案
  4. mysql的基准测试_mysql基准测试 -benchmarks
  5. python中解决中文乱码
  6. 使用 cout 输出数据之控制输出格式(一)
  7. 建信金融科技春季全国笔试卷B编程题
  8. 《系统集成项目管理工程师》必背100个知识点-09初步可行性研究可能出现的结果...
  9. Fabricjs在Canvas上插入照片并设置缩小和翻转属性
  10. Winfrom中设置ZedGraph显示多个标题(一个标题换行显示)效果