Как заставить StrawberryShake воспринимать идентификатор как число?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить StrawberryShake воспринимать идентификатор как число?

Сообщение Anonymous »

Я использую схему GraphQL startgg, которая имеет поле id для некоторых объектов, и StrawberryShake пытается проанализировать ее как строку. В схеме есть это

Код: Выделить всё

type Event {
id: ID
...
}
В спецификации это есть

Код: Выделить всё

scalar ID
И во время выполнения я получаю эту ошибку

Код: Выделить всё

System.InvalidOperationException: The requested operation requires an element of type 'String', but the target element has type 'Number'.
at System.Text.Json.ThrowHelper.ThrowJsonElementWrongTypeException(JsonTokenType expectedType, JsonTokenType actualType)
at System.Text.Json.JsonDocument.CheckExpectedType(JsonTokenType expected, JsonTokenType actual)
at System.Text.Json.JsonDocument.GetString(Int32 index, JsonTokenType expectedType)
at System.Text.Json.JsonElement.GetString()
at StartGG.GraphQL.State.GraphQLClientEntityIdFactory.ParseEventEntityId(JsonElement obj, String type)
at StartGG.GraphQL.State.GraphQLClientEntityIdFactory.Parse(JsonElement obj)
at StartGG.GraphQL.State.GetNumberOfEntrantsBuilder.Update_IGetNumberOfEntrants_EventEntity(IEntityStoreUpdateSession session, Nullable`1 obj, ISet`1 entityIds)
at StartGG.GraphQL.State.GetNumberOfEntrantsBuilder.c__DisplayClass9_0.b__0(IEntityStoreUpdateSession session)
at StrawberryShake.EntityStore.Update(Action`1 action)
at StartGG.GraphQL.State.GetNumberOfEntrantsBuilder.BuildData(JsonElement obj)
at StrawberryShake.OperationResultBuilder`1.Build(Response`1 response)
Как-то разочаровывает тот факт, что крупнейший проект Graphql для Мауи даже не корректно обрабатывает графql, предоставленный startgg.
Нет ли способа узнать это? это для анализа идентификатора как длинного?
Сгенерированный код содержит этот самородок, который кажется невероятно недальновидным со стороны разработчиков:

Код: Выделить всё

Deserialize_String(global::StrawberryShake.Json.JsonElementExtensions.GetPropertyOrNull(obj, "id"))
Как это исправить в .Net Maui?

Подробнее здесь: https://stackoverflow.com/questions/791 ... s-a-number
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»