我正在开发一个我们正在考虑GraphQL的非平凡应用程序。在研究我们的模式初稿时,我试图建立命名约定,随着产品成熟而扩展规模,这让我有点瘫痪。我真的很感激任何人的一些见解谁拥有了成长的模式和运行之中,或成功地避免了死角或不一致:什么是一些GraphQL模式命名最佳实践?
是一般有用/地道要在名称保留名称“接口”的界面?例如,在大型应用程序中,
Profile
还是ProfileInterface
会更好?interface ProfileInterface { # fields here... } type UserProfile implements ProfileInterface { # implemented fields here... }
将单枚举值指定为“常量”常见吗?
enum GeoJSONFeatureTypeConstant { feature } interface GeoJSONFeatureInterface { id: ID type: GeoJSONFeatureTypeConstant! geometry: GeoJSONGeometryInterface! properties: GeoJSONProperties }
是否申报全部或全无
object
S作为scalar
或type
最佳实践,并在两者之间绘制的线?想象一下Point
类型,它通常会被表示为一个数组[x,y]
;哪个会更加习惯?scalar Point type Point { x: Float y: Float }
- 任何其他与GraphQL中的命名约定或类型声明特别相关的最佳实践,如果没有经验,将很难知道这些最佳实践。
在此先感谢!
这个问题一直没有得到我所希望的势头,所以我要开始张贴,因为我觉得他们有用的片段,这可能演变成各种各样的答案。
命名输入类型与在端输入是一个有用的惯例, 因为你通常希望两者的输入类型和输出类型 是针对单个概念对象略有不同。
http://graphql.org/graphql-js/mutations-and-input-types/
这些都很好,你的链接是完美的。谢谢。 –