我正在開發一個我們正在考慮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/
這些都很好,你的鏈接是完美的。謝謝。 –