diff --git a/docs/dev-guide/graphql/graphql-type.md b/docs/dev-guide/graphql/graphql-type.md index 9f5c95ce7..b2802d2a2 100644 --- a/docs/dev-guide/graphql/graphql-type.md +++ b/docs/dev-guide/graphql/graphql-type.md @@ -1,10 +1,30 @@ # NopGraphQL中的数据类型 ## 扩展的Scalar类型 + GraphQL缺省只有Float、Int、String、Boolean、ID这几种基本类型。NopGraphQL引入了更多的Scalar类型,以便于更好的支持业务数据模型。 比如区分了Float、Double、Int、Double、BigDecimal等。 ## Long作为String返回 + 对于前台JS而言,超过一定大小的Long无法在前台正常处理,必须要转换成String类型。 + 1. 在Excel数据模型中定义一个domain,string-long,在【域定义中】设置它对应的Java类型为String。这样在生成实体属性的时候会修改为String类型。 2. 另外一种做法是在XMeta的prop上指定`graphql:type`为String,这样在GraphQL中返回的时候会自动转换成String类型。 + +## Java类型映射到GraphQL类型 + +有时会使用弱类型的Java属性,但是希望为它指定某个确定性的GraphQL类型。可以通过`@GraphQLReturn("MyObject")`这种注解来指定函数返回值类型中的对象类型为指定类型。如果返回类型是列表类型,则GraphQLReturn指定的是列表中的元素的类型。 + + + +```java +static class ResultBean { + List list; + + @GraphQLReturn(bizObjName = "MyObject") + public List getList() { + return list; + } +} +```