美文网首页
参数类型与参数传递

参数类型与参数传递

作者: 紫雨杰 | 来源:发表于2020-07-16 20:00 被阅读0次

一、基本参数类型

1、基本类型: String,Int,Float,Boolean和ID 五个。可以在schema声明的时候直接使用;
2、[类型] 代表数组, 例如: [Int] 代表整型数组

二、参数传递

1、和js传递参数一样,小括号内定义形参,但是注意:参数需要定义类型;
2、!(叹号) 代表参数不能为空;
例如:
type Query {
//hello方法中有两个参数name和age,name类型为String, age类型为Int, 并且age不能为空,返回值为整型数组
hello(name: String, age: Int! ) : [Int]
}

三、自定义参数类型

GraphQL允许用户自定义参数类型,通常用来描述要获取的资源的属性

const express = require('express');
const {buildSchema} = require('graphql');
const {graphqlHTTP} = require('express-graphql');


// 定义Schema,  查询方法和返回值类型
const schema = buildSchema(`

  // Account 为自定义类型
  type Account {
      name: String
      age: Int
      sex: String
      department: String
      salary(city: String): Int
  }
  type Query {
    getClassMates(classNo: Int!): [String]
    account(username: String): Account
  }
`)


//定义查询对应的处理器
const root = {
    getClassMates({classNo}) {
        const obj = {
            11: ['张三', '李四', '王五'],
            12: ['张飞', '曹操', '关羽']
        }
        return obj[classNo];
    },
    account({username}) {
        const name = username;
        const age = 12;
        const sex = '男';
        const department = '测试部';
        const salary = ({city}) => {
            if (city == '北京' || city == '上海' || city == '广州') {
                return 10000;
            }
            return 4000;
        }
        return {
            name, 
            age, 
            sex, 
            department, 
            salary  
        }
    }
}

const app = express();

app.use('/graphql', graphqlHTTP({
    schema: schema,
    rootValue: root,
    graphiql: true
}))

app.listen(3000);
image.png

相关文章

  • 参数类型与参数传递

    一、基本参数类型 1、基本类型: String,Int,Float,Boolean和ID 五个。可以在schema...

  • JavaScript函数的参数传递

    JavaScript函数的参数传递取决于参数的类型: 若参数为基本类型,那么按值传递 若参数为引用类型,那么按共享...

  • Go语言之指针作为参数

    值类型参数传递 数组作为参数

  • python3 几个知识点

    参数类型 用必选参数、 一定要传递的参数: def shit(a) a就一定要传递 默认参数 可以不传递的参数,有...

  • Java中是传参数还是引用传递?

    示例1: 基本类型数据作为参数传递 结果: 示例2 对象作为参数传递 输出结果: 无论是基本类型作为参数传递,还是...

  • Java 参数传递问题

    Java参数传递 给出了基本类型和引用类型参数传递时行为的示例,并给出了String类型作为参数传递时表现出的和一...

  • java 参数传递

    java中方法参数传递方式是按值传递。 如果参数是基本类型,传递的是基本类型的字面量值的拷贝。 如果参数是引用类型...

  • java参数的传递

    基本类型作为参数是值传递 引用类型作为参数是引用传递(地址传递) 方法签名 方法签名有两部分组成:方法名和参数类型...

  • 有参方法和包

    定义带参数的方法参数列表:(数据类型 参数1,数据类型 参数2…) 调用带参数的方法 调用方法,传递的参数要与参数...

  • NO.42 StringBuffer与String作为参数传递问

    A:形式参数问题 String作为参数传递 StringBuffer作为参数传递 基本数据类型,不改变其值...

网友评论

      本文标题:参数类型与参数传递

      本文链接:https://www.haomeiwen.com/subject/noouhktx.html