Я использую GraphQL в веб-сервисе на Spring Boot
и мне надо написать мутацию для обновления объектов Invoice
. В схеме эти типы определены следующим образом:
invoice.graphqls
:
type Invoice {
uid: UUID
number: String
date: LocalDate
arrivalDate: LocalDate
senderDigest: String
receiverDigest: String
payerDigest: String
departureKLADR: String
arrivalKLADR: String
departureCityUID: UUID
arrivalCityUID: UUID
departureCityName: String
arrivalCityName: String
freightInKops: Long
serviceKind: String
cargoKind: String
amount: Int
netVolume: Float
netWeight: Float
declaredValueInKops: Long
createdDateTime: LocalDateTime
updatedDateTime: LocalDateTime
transportCompanyMSP: String
transportCompanyName: String
insuranceCompanyName: String
senderItn: String
receiverItn: String
payerItn: String
distinctInsurancePolicy: Boolean
insurancePolicyRow: [InsurancePolicyRow]
}
input InvoiceInput {
uid: UUID
number: String
date: LocalDate
arrivalDate: LocalDate
senderDigest: String
receiverDigest: String
payerDigest: String
departureKLADR: String
arrivalKLADR: String
departureCityUID: UUID
arrivalCityUID: UUID
departureCityName: String
arrivalCityName: String
freightInKops: Long
serviceKind: String
cargoKind: String
amount: Int
netVolume: Float
netWeight: Float
declaredValueInKops: Long
createdDateTime: LocalDateTime
updatedDateTime: LocalDateTime
transportCompanyMSP: String
transportCompanyName: String
insuranceCompanyName: String
senderItn: String
receiverItn: String
payerItn: String
distinctInsurancePolicy: Boolean
insurancePolicyRow: [InsurancePolicyRowInput]
}
Здесь определены типы Invoice
, которые могут ссылаться на объекты типаInsurancePolicyRow
. Типы InsurancePolicyRow
определены так:
insurance-policy-row.graphqls
:
type InsurancePolicyRow {
invoiceUID: UUID
insuranceType: String
insurancePolicyNumber: String
insurancePolicyUID: UUID
cargoKind: String
invoiceDate: LocalDate
arrivalPlannedDate: LocalDate
departureKLADR: String
departureCityName: String
arrivalKLADR: String
arrivalCityName: String
totalSumInKops: Long
declaredValueInKops: Long
insuranceSum: Long
freight: Long
invoiceNumber: String
extraVehicle: String
forwardingAgent: String
driver: String
vehicleInfo: String
insuranceSection: Int
}
input InsurancePolicyRowInput {
invoiceUID: UUID
insuranceType: String
insurancePolicyNumber: String
insurancePolicyUID: UUID
cargoKind: String
#invoiceDate: LocalDate
#arrivalPlannedDate: LocalDate
departureKLADR: String
departureCityName: String
arrivalKLADR: String
arrivalCityName: String
totalSumInKops: Long
declaredValueInKops: Long
insuranceSum: Long
freight: Long
invoiceNumber: String
extraVehicle: String
forwardingAgent: String
driver: String
vehicleInfo: String
insuranceSection: Int
}
При выполнении мутаций из-за поля insurancePolicyRow: [InsurancePolicyRow]
возникает исключение:
Caused by: com.coxautodev.graphql.tools.SchemaError: Expected type 'InsurancePolicyRowInput' to be a GraphQLInputType, but it wasn't!
Мутация описана так:
updateInvoice(invoice: InvoiceInput!): String
То есть для изменения данных используется мутация, принмающая input-тип InvoiceInput
, в котором содержится ссылка на input-тип InsurancePloicyRowInput
, но при этом парсер схемы почему-то считает, что поле insurancePolicyRow
не имеет input-тип. Как исправить эту проблему?
Если убрать все поля из типа InsurancePolicyRowInput
, ошибка все равно сохраняется.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я хочу реализовать Recycler View, в котором по нажатии на item будет появляться фрагментНо я у меня не работает метод getSupportFragmentManager(), я пытался подставлять...
Простите, как я могу обратиться к методу getName из активности NavigationActivity?