springboot json交互
时间: 2023-11-11 14:53:54 浏览: 95
Spring Boot提供了很多方便的方式来处理JSON交互。以下是一些常见的方式:
1. 使用Spring Boot自带的Jackson依赖
Spring Boot默认使用Jackson作为JSON序列化和反序列化库。只需要在Maven或Gradle中添加以下依赖:
```xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
```
或者
```groovy
implementation 'com.fasterxml.jackson.core:jackson-databind'
```
然后在Controller中使用@ResponseBody注解将返回值转换为JSON格式:
```java
@GetMapping("/user")
@ResponseBody
public User getUser() {
User user = new User();
user.setId(1);
user.setName("John");
return user;
}
```
2. 使用@RestController注解
@RestController注解相当于@Controller和@ResponseBody的组合。它可以让我们更方便地处理JSON交互。只需要在Controller类上添加@RestController注解,然后在方法上使用@RequestMapping注解指定请求路径即可:
```java
@RestController
public class UserController {
@GetMapping("/user")
public User getUser() {
User user = new User();
user.setId(1);
user.setName("John");
return user;
}
}
```
3. 使用@ResponseBody注解
@ResponseBody注解可以将方法返回的对象转换为JSON格式的数据,并返回给客户端。只需要在方法上添加@ResponseBody注解即可:
```java
@GetMapping("/user")
@ResponseBody
public User getUser() {
User user = new User();
user.setId(1);
user.setName("John");
return user;
}
```
4. 使用@RequestBody注解
@RequestBody注解可以将客户端发来的JSON格式的数据转换为Java对象,并传递给方法。只需要在方法参数上添加@RequestBody注解即可:
```java
@PostMapping("/user")
public void addUser(@RequestBody User user) {
userService.save(user);
}
```
以上就是一些常见的处理JSON交互的方式。根据实际需求选择合适的方式即可。
阅读全文