热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

addexecuteargumentandinputdirective

addedexecutionofsystemdirectivesforARGUMENT_DEFINITIONandINPUT_FIELD_DEFINITION

added execution of system directives for ARGUMENT_DEFINITION and INPUT_FIELD_DEFINITION

generating code for arguments for example when adding a Directive instead of

1
2
3
4
5
6
7
8
golang

    if tmp, ok := rawArgs["Id"]; ok {

        var err error

        arg0, err = graphql.UnmarshalID(tmp)

        if err != nil {

            return nil, err

        }

    }

will be

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
golang

    if tmp, ok := rawArgs["Id"]; ok {



        argm0, err := chainFieldMiddleware([]graphql.FieldMiddleware{

            func(ctx context.Context, n graphql.Resolver) (res interface{}, err error) {

                min := "0"

                return e.directives.AssertRange(ctx, tmp, n, &min, nil, nil)

            },

        }...)(ctx, func(ctx2 context.Context) (args0 interface{}, err error) {

            args0, err = graphql.UnmarshalID(tmp)

            if err != nil {

                return nil, err

            }

            return

        })

        if err != nil {

            return nil, err

        }

        if data, ok := argm0.(string); ok {

            arg0 = data

        } else {

            return nil, errors.New("expect string")

        }



    }

if the argument is type input, the code will be added in addition to the previous code and the previous code will be added (for example)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
golang

    if tmp, ok := rawArgs["input"]; ok {



        var err error

        arg0, err = UnmarshalDataInput(tmp)

        if err != nil {

            return nil, err

        }



        arg0, err := e.DataInputMiddleware(ctx, arg0)

        if err != nil {

            return nil, err

        }

    }

and added input middleware(for example) or empty middleware

1
2
3
4
5
6
7
8
9
10
11
12
13
golang

func (e *executableSchema) DataInputMiddleware(ctx context.Context, obj *models.DataInput) (*models.DataInput, error) {



    if obj.InternalData != nil {

        var err error

        obj.InternalData, err = e.CoordinatesInputMiddleware(ctx, obj.InternalData)

        if err != nil {

            return nil, err

        }

    }



    return obj, nil

}

该提问来源于开源项目:99designs/gqlgen

cannot convert nil (untyped nil value) to string



invalid schema

1
directive (min: Int!, max: Int, message: String!)

message MUST NOT be null




1
(min: 2, max: 5, message:"not valid")

and if not set

1
ARGUMENT_DEFINITION

schema invalid, but there is no error

and for example if use `` from gqlgen/example/todo/schema.graphql without role MUST be error when generate go files, but its working as if you were the owner

invalid operation: (&args0) (value of type *interface{}) has no field or method UnmarshalGQL

updated generate args


   



推荐阅读
  • 本文档详细介绍了Excel VBA编程中的基本语法,包括循环结构、条件判断、数据处理以及用户界面设计等内容,旨在帮助初学者快速掌握VBA编程技巧。 ... [详细]
  • 本文探讨了在使用Apache Flink向Kafka发送数据过程中遇到的事务频繁失败问题,并提供了详细的解决方案,包括必要的配置调整和最佳实践。 ... [详细]
  • MVC框架下使用DataGrid实现时间筛选与枚举填充
    本文介绍如何在ASP.NET MVC项目中利用DataGrid组件增强搜索功能,具体包括使用jQuery UI的DatePicker插件添加时间筛选条件,并通过枚举数据填充下拉列表。 ... [详细]
  • 3144:[Hnoi2013]切糕TimeLimit:10SecMemoryLimit:128MBSubmit:1261Solved:700[Submit][St ... [详细]
  • 本文详细介绍了如何将After Effects中的动画相机数据导入到Vizrt系统中,提供了一种有效的解决方案,适用于需要在广播级图形制作中使用AE动画的专业人士。 ... [详细]
  • 本文详细介绍了 Go 语言的关键特性和编程理念,包括其强大的并发处理能力、简洁的语法设计以及高效的开发效率。 ... [详细]
  • 本文总结了几个常用的Android开发技巧,包括检测设备上是否安装特定应用、获取应用的版本名称、设置状态栏透明以及如何从一个应用跳转至另一个应用的方法。 ... [详细]
  • 本文详细介绍了MySQL表分区的概念、类型及其在实际应用中的实施方法,特别是针对Zabbix数据库的优化策略。 ... [详细]
  • Java 中静态和非静态嵌套类的区别 ... [详细]
  • 重写init方法后,属性声明后为什么不为nil? ... [详细]
  • ECharts图表绘制函数集
    本文档提供了使用ECharts库创建柱状图、饼图和双折线图的JavaScript函数。每个函数都详细列出了参数说明,并通过示例展示了如何调用这些函数以生成不同类型的图表。 ... [详细]
  • 本文深入探讨了HTML5中十五个重要的新特性,为开发者提供了详细的指南。 ... [详细]
  • HDU1085 捕获本·拉登!
    问题描述众所周知,本·拉登是一位臭名昭著的恐怖分子,他已失踪多年。但最近有报道称,他藏匿在中国杭州!虽然他躲在杭州的一个洞穴中不敢外出,但近年来他因无聊而沉迷于数学问题,并声称如果有人能解出他的题目,他就自首。 ... [详细]
  • 本文详细解析了Java中流的概念,特别是OutputStream和InputStream的区别,并通过实际案例介绍了如何实现Java对象的序列化。文章不仅解释了流的基本概念,还探讨了序列化的重要性和具体实现步骤。 ... [详细]
  • 解决jQuery Spinner按钮垂直排列问题
    本文探讨了如何通过CSS调整jQuery Spinner组件中的上下按钮,实现它们的垂直堆叠布局。 ... [详细]
author-avatar
乐在TV
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有