本文目录
1 Maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.version}</version>
</dependency>
通过spring-boot-starter-web间接依赖了以下三个JSON相关包:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version</version>
</dependency>
2 Controller类型
方式一:
@RestController注解类
方式二:
@Controller注解类
@ResponseBody注解方法
3 Getter与Setter方法
作为Controller返回值的对象类,必须拥有相应字段的Getter和Setter方法。
否则,无法自动转化为JSON格式字符串,导致异常。
可通过Lombok的@Data或@Getter+@Setter注解来自动生成相应的方法,以下是Lombok的Maven依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
同时,还可以通过JSON相关注解,对类的字段进行一些定制化,例如:
@JsonIgnore 忽略某字段
@JsonProperty 指定对应的JSON字段名称
网络上有很多关于这方面的介绍,因此,不再赘述。
至此,可以使用对象类型作为Controller的返回值。
Spring Boot会自动将返回的对象转化为JSON格式的字符串并返回给调用方。