Разница между типом поля типа graphql "Int" и "Number" - PullRequest
0 голосов
/ 29 января 2019

В чем разница между типами типа graphql Int и Number?Я хочу использовать простые целые числа в качестве моих аргументов graphql (например, 1, а не «1» или 1.0).

@GQL.Field(type => 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:

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

1 Ответ

0 голосов
/ 30 января 2019

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

Число JavaScript станет GraphQLFloat в схеме автоматически

Это потому, что number в JS представляется как двойное число, поэтому Number = Float,Если вам нужен int, используйте Int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...