JSON 是目前主流的前后端数据传输方式。在 Spring Boot 项目中,只要添加了 Web 依赖(spring-boot-starter-web),就可以很方便地实现 JSON 转换。下面我们通过样例进行演示。
Web 依赖默认加入了 jackson-databind 作为 JSON 处理器,我们不需要要添加额外的 JSON 处理器就可以返回一段 JSON。
1,实体类创建
首先我们创建一个 Book 实体类,注意这里用到了两个注解:
- @JsonIgnore:json 序列化时将 java bean 中的一些属性忽略掉。即生成 json 时不生成其标注的属性。
- @JsonFormat:将日期类型的数据格式化成指定格式的字符串。
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.Date;
public class Book {
private String name;
private String author;
@JsonIgnore
private Float price;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date publicationDate;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Float getPrice() {
return price;
}
public void setPrice(Float price) {
this.price = price;
}
public Date getPublicationDate() {
return publicationDate;
}
public void setPublicationDate(Date publicationDate) {
this.publicationDate = publicationDate;
}
}
2,创建 Contoller
在这个 Contoller 中我们初始化一个 Book 对象,然后将其直接返回。
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.Date;
@RestController
public class HelloController {
@GetMapping("/hello")
public Book hello() {
Book book = new Book();
book.setName("Spring Boot开发");
book.setAuthor("123");
book.setPrice(29f);
book.setPublicationDate(new Date());
return book;
}
}
3,访问测试
在浏览器访问 /hello 这个接口,可以看到 JSON 数据已经成功返回了。
早年同窗始相知,三载瞬逝情却萌。年少不知愁滋味,犹读红豆生南国。别离方知相思苦,心田红豆根以生。