我的应用程序动态处理模式。用户可以上传新域或更改现有域的定义。例如,我发布的产品具有如下用户模式:
user {
fn, ln, age
}
Later user can change this definition to include new properties;
user {
fn, ln, age,
salary, address
}
或者他们可以添加一个全新的领域概念。
如果我使用 GraphQL,有没有办法动态更改架构?
另一个问题是;
我们的模式具有使模式的某些部分相关的条件。对于前;
用户模式可能有这样的内容:
user {
fn, ln, age, gender
foo (if gender == Male)
bar (if gender == Female)
}
GraphQL 中有没有规定来表达这些。我可以在 Java 代码中处理它,但是,模式查找需要路由到我的代码,而不是引用静态模式注册表。
我必须解决同样类型的问题:我有一个 graphQL java 服务器,它可以动态加载插件(每个插件都有自己的模式定义)。
你必须实施你自己的GraphQLSchemaProvider
并覆盖public GraphQLSchema getSchema(HttpServletRequest request)
。然后根据刷新时间/请求条件(即:用户)/其他任何内容加载/重新加载您的架构...
对于第二个问题,您可以使用内联片段http://graphql.org/learn/queries/#inline-fragments http://graphql.org/learn/queries/#inline-fragments
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)