SpringBoot返回json和xml的示例代碼
有些情況接口需要返回的是xml數(shù)據(jù),在springboot中并不需要每次都轉(zhuǎn)換一下數(shù)據(jù)格式,只需做一些微調(diào)整即可。
新建一個springboot項目,加入依賴jackson-dataformat-xml,pom文件代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dalaoyang</groupId>
<artifactId>springboot_xml</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springboot_xml</name>
<description>springboot_xml</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
啟動類默認即可,沒有做任何調(diào)整。
新建一個user類,代碼如下:
package com.dalaoyang.entity;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
* @author dalaoyang
* @Description
* @project springboot_learn
* @package com.dalaoyang.entity
* @email yangyang@dalaoyang.cn
* @date 2018/4/8
*/
@XmlRootElement
public class User {
String userName;
String userAge;
String userAddress;
public User(String userName, String userAge, String userAddress) {
this.userName = userName;
this.userAge = userAge;
this.userAddress = userAddress;
}
@XmlElement
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
@XmlElement
public String getUserAge() {
return userAge;
}
public void setUserAge(String userAge) {
this.userAge = userAge;
}
@XmlElement
public String getUserAddress() {
return userAddress;
}
public void setUserAddress(String userAddress) {
this.userAddress = userAddress;
}
}
最后是controller,代碼如下:
package com.dalaoyang.controller;
import com.dalaoyang.entity.User;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author dalaoyang
* @Description
* @project springboot_learn
* @package com.dalaoyang.controller
* @email yangyang@dalaoyang.cn
* @date 2018/4/8
*/
@RestController
public class UserController {
//http://localhost:8080/json
@GetMapping(value = "/json",produces = MediaType.APPLICATION_JSON_VALUE)
public User index(){
User user = new User("dalaoyang", "26", "北京");
return user;
}
//http://localhost:8080/xml
@GetMapping(value = "/xml",produces = MediaType.APPLICATION_XML_VALUE)
public User XML(){
User user = new User("dalaoyang", "26", "北京");
return user;
}
}
到這里就可以啟動項目了,訪問http://localhost:8080/json,可以看到如下圖

訪問http://localhost:8080/xml,如下圖

源碼下載 :https://gitee.com/dalaoyang/springboot_learn
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot配置logback.xml 多環(huán)境的操作步驟
- 使用maven開發(fā)springboot項目時pom.xml常用配置(推薦)
- SpringBoot整合Mybatis無法掃描xml文件的解決
- springboot 在xml里讀取yml的配置信息的示例代碼
- SpringBoot集成JmsTemplate(隊列模式和主題模式)及xml和JavaConfig配置詳解
- SpringBoot之logback-spring.xml不生效的解決方法
- 詳解SpringBoot 快速整合Mybatis(去XML化+注解進階)
- 詳解SpringBoot 快速整合MyBatis(去XML化)
- SpringBoot框架如何管理Xml和CSV
相關(guān)文章
SpringBoot整合Mybatis實現(xiàn)多數(shù)據(jù)源配置與跨數(shù)據(jù)源事務(wù)實例
開發(fā)中經(jīng)常有這樣的需要: 讀寫分離。微服務(wù)環(huán)境下可以實現(xiàn)一個服務(wù)讀取一個數(shù)據(jù)庫,另一個服務(wù)寫庫。但是在實際應(yīng)用中有時也需要在一個服務(wù)中讀寫不同的數(shù)據(jù)庫。可以在一個SpringBoot單體項目中配置多個數(shù)據(jù)源解決讀寫庫分離2022-11-11
java并發(fā)包工具CountDownLatch源碼分析
這篇文章主要為大家介紹了java并發(fā)包工具CountDownLatch源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10

