热门标签 | 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


   



推荐阅读
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • 本文整理了Java中org.apache.pig.backend.executionengine.ExecException.<init>()方法的一些代码 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 学习Java异常处理之throws之抛出并捕获异常(9)
    任务描述本关任务:在main方法之外创建任意一个方法接收给定的两个字符串,把第二个字符串的长度减1生成一个整数值,输出第一个字符串长度是 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
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社区 版权所有