spring-boot(三)响应返回json和xml

分类:spring-boot
阅读:946
作者:majingjing
发布:2016-12-22 15:14

经过之前的文章 spring-boot(一) web应用 发布后,有网友反馈说只返回对象,是如何达到让api返回json结果的,故在写一篇文章介绍下多种格式的响应输出配置.

本文介绍如何返回json和xml , 案例代码在 "spring-boot(二)数据库操作" 基础上改造

项目结构图: QQ截图20161222151507.png

  1. pom增加xml的响应支持

    	<dependency>
    		<groupId>com.fasterxml.jackson.dataformat</groupId>
    		<artifactId>jackson-dataformat-xml</artifactId>
    	</dependency>
    
  2. HelloBean类增加xml注解支持

    	package hello.model;
    
    	import java.util.Date;
    
    	import javax.xml.bind.annotation.XmlElement;
    	import javax.xml.bind.annotation.XmlRootElement;
    
    	/**
    	 * @author majinding888@foxmail.com
    	 * @date 2016-12-21 下午12:22:18
    	 */
    	@XmlRootElement
    	public class HelloBean {
    
    		private Integer id;
    		private String msg;
    		private Date date;
    
    		public HelloBean() {
    		}
    
    		public HelloBean(Integer id, String msg, Date date) {
    			super();
    			this.id = id;
    			this.msg = msg;
    			this.date = date;
    		}
    
    		@XmlElement
    		public Integer getId() {
    			return id;
    		}
    
    		public void setId(Integer id) {
    			this.id = id;
    		}
    
    		@XmlElement
    		public String getMsg() {
    			return msg;
    		}
    
    		public void setMsg(String msg) {
    			this.msg = msg;
    		}
    
    		@XmlElement
    		public Date getDate() {
    			return date;
    		}
    
    		public void setDate(Date date) {
    			this.date = date;
    		}
    
    	}
    
    
  3. 在controller中配置xml和json的导航支持

    		@RequestMapping(value = "/hello/json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    		@ResponseBody
    		public Object helloBean() {
    			return new HelloBean(123,"你好",new Date());
    		}
    
    		@RequestMapping(value = "/hello/xml", method = RequestMethod.GET, produces = MediaType.APPLICATION_XML_VALUE)
    		@ResponseBody
    		public Object xml() {
    			return new HelloBean(123,"你好",new Date());
    		}
    

到此为止已经配置完成, 启动主启动类, 浏览器访问 QQ截图20161222151103.png

QQ截图20161222151129.png


源代码参见附件: my-springboot-3.zip