邮寄地址类型的最佳实践
Best practice for mailing addresses types
我是 GraphQL 的新手,我正在编写一个包含公司和用户的模式。这些实体中的每一个都将有一个与之关联的邮寄地址。我还使用 AWS Amplify 生成解析器和数据库(至少让项目继续进行)。
- 我不打算检索与其 user/company
分开的地址
- 希望使架构尽可能模块化,避免不必要的重复信息
这是我开始时的缩略版
type Address {
id: ID!
streetAddress1: String!
streetAddress2: String
city: String!
state: String!
zipCode: String!
country: String!
coordinates: String
}
type Company
{
id: ID!
name: String!
address: Address!
...
}
我的问题是,在我的架构中最好将地址作为一个单独的类型,还是将每个 company/user 类型与它们自己的地址混为一谈?
这些是我的担忧
- 分离地址和实体会增加业务逻辑的复杂性and/or 突变。
- 本质上,将 CRUD 操作变成事务性的,这样用户和地址都是 mutated/queried。
我想我会使用没有 @model
注释的 Address
类型,并且没有来自需要它的类型的 @connection
。
我是 GraphQL 的新手,我正在编写一个包含公司和用户的模式。这些实体中的每一个都将有一个与之关联的邮寄地址。我还使用 AWS Amplify 生成解析器和数据库(至少让项目继续进行)。
- 我不打算检索与其 user/company 分开的地址
- 希望使架构尽可能模块化,避免不必要的重复信息
这是我开始时的缩略版
type Address {
id: ID!
streetAddress1: String!
streetAddress2: String
city: String!
state: String!
zipCode: String!
country: String!
coordinates: String
}
type Company
{
id: ID!
name: String!
address: Address!
...
}
我的问题是,在我的架构中最好将地址作为一个单独的类型,还是将每个 company/user 类型与它们自己的地址混为一谈? 这些是我的担忧
- 分离地址和实体会增加业务逻辑的复杂性and/or 突变。
- 本质上,将 CRUD 操作变成事务性的,这样用户和地址都是 mutated/queried。
我想我会使用没有 @model
注释的 Address
类型,并且没有来自需要它的类型的 @connection
。