springmvc配置消息转换器
时间: 2023-05-23 15:07:27 浏览: 64
A:在Spring MVC中配置消息转换器需要以下步骤:
1. 添加依赖:在Maven项目中添加以下依赖:
```
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
```
其中, `${spring.version}` 和 `${jackson.version}` 分别表示 Spring 和 Jackson 的版本号。
2. 配置转换器:在 Spring MVC 的配置文件中添加如下配置:
```
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(mappingJackson2HttpMessageConverter());
}
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setObjectMapper(objectMapper());
return converter;
}
@Bean
public ObjectMapper objectMapper() {
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
return objectMapper;
}
}
```
注意 `configureMessageConverters` 方法需要添加 `@Override` 注解,`mappingJackson2HttpMessageConverter` 方法和 `objectMapper` 方法都需要使用 `@Bean` 注解。其中,`MappingJackson2HttpMessageConverter` 是一个消息转换器,用于将 Java 对象转换成 JSON 格式的数据。
3. 测试转换器:现在,您可以在控制器类中使用 `@RestController` 注解来实现 RESTful API,并返回对象,消息转换器将自动将其转换为 JSON。例如:
```
@RestController
public class UserController {
@GetMapping("/user")
public User getUser() {
return new User("张三", 20);
}
}
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 省略
}
```
现在,您可以在浏览器中访问 `http://localhost:8080/user`,将会返回以下 JSON 数据:
```
{
"name": "张三",
"age": 20
}
```