Каков синтаксис для URL / URI в GraphQL HotChocolate?

Я пишу запрос GraphQL с параметром, который имеет тип Uri в C #. При вводе значения «http://dotnetperls.com/» он сообщает мне, что тип неправильный. Кто-нибудь знает, в каком формате это должно быть, чтобы соответствовать GraphQL?


person Tristan Trainer    schedule 15.07.2019    source источник


Ответы (1)


Список Скалярные типы HotChocolate содержит UrlType, который соответствует Uri. Достаточно указать, что ваш аргумент имеет тип UrlType. В зависимости от версии HotChocolate, которую вы используете, фреймворк может вводить аргумент автоматически, в противном случае вы можете переопределить тип своего аргумента в своей конфигурации QueryType:

public class QueryType: ObjectType<Query>
{
    protected override void Configure(IObjectTypeDescriptor<Query> descriptor)
    {
         [...]
         descriptor.Field(t => t.GetMyEntity(default))
            .Argument("myArgument", a => a.Type<NonNullType<UrlType>>());
         [...]
    }
}

Изменить: ниже версии 9.0.0 вам нужно будет зарегистрировать расширенные скалярные типы, как показано здесь.

person misraoui    schedule 15.07.2019
comment
Начиная с версии 9, мы можем автоматически определять, какой расширенный скаляр вы действительно хотите использовать. Вы можете изменить это поведение, изменив привязки по умолчанию через «SchemaBuilder» с помощью BindClrType<string, StringType>. - person Michael Ingmar Staib; 18.07.2019