GraphQL:了解Spring Data JPA / SpringBoot

让我们通过一个实际的例子来理解Spring Data JPA和Spring Boot。

GraphQL是API的查询语言。通常,在我们的API中创建REST端点时,通常的趋势是为需求创建端点。假设您的端点返回了一个员工列表,每个员工都有一般属性,例如姓名,年龄和地址(假设地址是映射到员工的另一个模型,每个员工都有一个地址)。现在,在某个时间点,您只需要其地址数据,即数据库中所有地址的列表(仅限国家,城市和街道)。为此,您需要在服务中使用全新的端点。

这就是GraphQL的强大功能,它允许您只处理单个端点,并根据请求的主体更改其输出。每个请求都将调用相同的端点,但使用不同的RequestBody。它只会收到它所需的结果。

请参阅代码在GitHub上的完整代码文件。这是一个带有H2数据库的maven项目,它在类路径中有data.sql用于数据库查询。此代码围绕从数据库中获取所有员工的列表。

现在,让我们从Spring Boot的实际实现开始。

我们有两个模型类:员工和地址以及相应的getter和setter。

@Entity
@Table
public class Employee {
String name;
@Id
String id;
int age;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "addid")
Address address;
 //......getters and setters....//
}
@Entity
@Table
public class Address {
@Id
@GeneratedValue
String addid;
String country;
String city;
String flat;
 //......getters and setters....//
}

完整代码,详细内容,阅读国外课栈网“技术使用:数据库”专栏主题

你可能感兴趣的:(技术释疑)