Graphql 如何为类型(例如字符串、int…)添加别名
我从医生那里知道我可以。但是我怎么能给一个类型加别名呢 例如,如何为int或string类型设置别名?Graphql 如何为类型(例如字符串、int…)添加别名,graphql,Graphql,我从医生那里知道我可以。但是我怎么能给一个类型加别名呢 例如,如何为int或string类型设置别名?type MyStringType=String有效吗 动机 我有一个signinmutation,它返回一个auth令牌,我想编写如下内容: type Mutation { signin(email: String!, password: String!): AuthToken } type AuthToken = String const { GraphQLString, Grap
type MyStringType=String
有效吗
动机
我有一个signin
mutation,它返回一个auth令牌,我想编写如下内容:
type Mutation {
signin(email: String!, password: String!): AuthToken
}
type AuthToken = String
const { GraphQLString, GraphQLScalarType } = require('graphql')
const AuthToken = new GraphQLScalarType({
name: 'AuthToken',
description: 'Your description here',
serialize: GraphQLString.serialize,
parseValue: GraphQLString.parseValue,
parseLiteral: GraphQLString.parseLiteral,
})
GraphQL不支持类型别名 但是,可以使用与现有标量相同的属性(但名称不同)实现自定义标量。您的问题不清楚您使用的是什么语言或库,但在GraphQL.js中,您可以执行以下操作:
type Mutation {
signin(email: String!, password: String!): AuthToken
}
type AuthToken = String
const { GraphQLString, GraphQLScalarType } = require('graphql')
const AuthToken = new GraphQLScalarType({
name: 'AuthToken',
description: 'Your description here',
serialize: GraphQLString.serialize,
parseValue: GraphQLString.parseValue,
parseLiteral: GraphQLString.parseLiteral,
})
这里有一些方法。请记住,这样做实际上可能会使客户机的工作更加困难,尤其是那些用强类型语言编写的客户机。如果您不需要自定义序列化或解析行为,我将坚持使用内置标量。谢谢您的回答!!