下面为您详细讲解Spring Boot返回JSON和XML的示例代码攻略。
准备工作
在演示Spring Boot返回JSON和XML的实例代码之前,需要准备一些工作:
- 在Maven或Gradle中引入以下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 添加Jackson相关依赖 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.2</version>
</dependency>
或
implementation 'org.springframework.boot:spring-boot-starter-web'
// 添加Jackson相关依赖
implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.2'
- 配置Jackson的XML和JSON的转换
@Configuration
public class JacksonConfig {
@Bean
public Jackson2ObjectMapperBuilderCustomizer customJackson() {
return builder -> {
// 支持转换成XML格式
builder.xml();
// 驼峰转换为下划线
builder.propertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
};
}
}
返回JSON格式数据
示例代码如下:
@RestController
@RequestMapping("/api")
public class ApiController {
@GetMapping("/json")
public User getUser() {
User user = new User();
user.setId(1);
user.setUsername("test");
user.setPassword("123456");
return user;
}
}
其中,User
是一个简单的实体类,具体实现如下:
public class User {
private int id;
private String username;
private String password;
// 省略getter和setter方法
}
访问http://localhost:8080/api/json,会返回如下JSON格式的数据:
{
"id": 1,
"username": "test",
"password": "123456"
}
返回XML格式数据
示例代码如下:
@RestController
@RequestMapping("/api")
public class ApiController {
@GetMapping(value = "/xml", produces = MediaType.APPLICATION_XML_VALUE)
public User getUserXml() {
User user = new User();
user.setId(1);
user.setUsername("test");
user.setPassword("123456");
return user;
}
}
访问http://localhost:8080/api/xml,会返回如下XML格式的数据:
<User>
<id>1</id>
<username>test</username>
<password>123456</password>
</User>
通过在@GetMapping
注解中指定返回的类型为MediaType.APPLICATION_XML_VALUE
,就可以将返回结果转换成XML格式。需要注意的是,在返回XML格式数据时,必须保证对象的属性是有getter
方法的,否则Jackson会无法序列化该对象。
以上就是关于Spring Boot返回JSON和XML的示例代码攻略的详细讲解,希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot返回json和xml的示例代码 - Python技术站