繁体   English   中英

type-graphql字段类型“ Int”和“ Number”之间的区别

[英]Difference between type-graphql field type “Int” and “Number”

type-graphql类型Int和Number有什么区别? 我想使用纯整数作为我的graphql参数(例如1,而不是“ 1”或1.0)。

@GQL.Field(type => Number)

另外,我观察到的是当我将参数类型设置为“ Number”时,出现在graphql-playground中的架构将这些参数类型显示为float。

@GQL.Mutation(returns => Booking)
public async addBooking(
@GQL.Arg("user") user: number,
@GQL.Arg("bookingType") bookingType: number,
@GQL.Arg("start") start: Date,
@GQL.Arg("end") end: Date,
@GQL.Arg("bookingPackage", { nullable: true }) bookingPackage?: number,
@GQL.Arg("bookingAddons", type  => [ Number, ], { nullable: true, }) bookingAddons?: number[],
@GQL.Arg("payment", { nullable: true }) payment?: number
) {

let booking = new Booking()
booking.user = user
booking.bookingType = bookingType
booking.start = start
booking.end = end
if (bookingPackage) booking.bookingPackage = bookingPackage
if (bookingAddons) booking.bookingAddons = bookingAddons
if (payment) booking.payment = payment

await booking.save()
return booking
}

出现在graphql-playground中的Schema:

addBooking(
payment: Float
bookingAddons: [Float!]
bookingPackage: Float
end: DateTime!
start: DateTime!
bookingType: Float!
user: Float!
): Booking!

https://19majkel94.github.io/type-graphql/docs/scalars.html#aliases

JavaScript编号将自动在架构中变为GraphQLFloat

这是因为JS中的number表示为双精度,所以Number = Float。 如果您需要一个int,请使用Int

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM