dugenkui

Results 35 issues of dugenkui

I think it will be great if `ARGUMENT` will be allowed in `DirectiveLocation`, and `ARGUMENT` means that user can user directive on argument in query. That is the scene: we...

Details in #739.

📄 Draft (RFC 2)

This PR supports custom HandlerMethodArgumentResolver. #259 The implementation refers to [spring-framework: mvc/method/annotation/RequestMappingHandlerAdapter.java](https://github.com/spring-projects/spring-framework/blob/main/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapter.java)

status: waiting-for-triage

1. unit test; 2. validate.

以`calculator.graphql.xx`开始

https://github.com/graphql-java/graphql-java/issues/2792 https://github.com/graphql-java/graphql-java/discussions/2726 初步设计: ```graphql query getQueryInfo @maxDepth(maxDepth: 3, enablePartial: false){ ... } ``` - maxDepth: 查询允许的最大深度; - 如果超过`maxDepth`是全部失败、还是超过的字段失败。

类似于mysql中的join,将[ItemInfo] 和[SellerInfo] 按照货主id进行匹配后、合并成List在页面进行展示是常见的业务处理逻辑。 使用 @map 和 @fetchSource进行处理会使得其中一个类型每个需要被合并的字段都需要单独进行处理,字段较多或者匹配逻辑复杂时会是的查询dsl的可读性变差。 待定方案 ```graphql @uniqueJoin(key:String, mergeInfo:[JoinInfo]) input JoinInfo{ sourceName:String, sourceKey:String } ```

参考:https://github.com/graphql-java/graphql-java-extended-validation

提供注册自定义指令的机制,可以指定指令如下信息: 1. 名称 - 约束命名; 2. 类型:修改运行时行为、校验; - 校验:统一异常接口; - 修改运行时行为:可能要有很多个接口,不同阶段的运行时行为有不同的接口; 3. 位置/类型系统指令还是查询指令 - 参考:https://spec.graphql.org/draft/#sec-Type-System.Directives - 生效位置可为缩小校验和修改运行时行为的作用范围。

例如: - 将Schema转换为java对象; - 将查询转换为java对象; - 给出查询列表、Schema,查询指定字段在哪些查询中用到了;