From c6040d3c396fbcea23353685e7b7b1ad7efeeb88 Mon Sep 17 00:00:00 2001 From: canonical Date: Mon, 20 Jan 2025 23:47:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dev-guide/graphql/graphql-type.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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; + } +} +```