没有实现接口“IAddress”的对象类型 HotChocolate.Types.InterfaceType<Grains.Models.Interfaces.IAddress>

问题描述

1. There is no object type implementing interface `IAddress`. (HotChocolate.Types.InterfaceType<Grains.Models.Interfaces.IAddress>)

   at HotChocolate.Configuration.TypeInitializer.Initialize(Func`1 schemaResolver,IReadOnlySchemaOptions options)
   at HotChocolate.SchemaBuilder.Setup.InitializeTypes(SchemaBuilder builder,DescriptorContext context,IBindingLookup bindingLookup,IReadOnlyList`1 types,LazySchema lazySchema)
   at HotChocolate.SchemaBuilder.Setup.Create(SchemaBuilder builder)
   at HotChocolate.SchemaBuilder.Create()
   at HotChocolate.SchemaBuilder.HotChocolate.ISchemaBuilder.Create()
   at HotChocolate.Execution.RequestExecutorResolver.CreateSchemaAsync(NameString schemaName,RequestExecutorSetup options,IServiceProvider serviceProvider,CancellationToken cancellationToken)
   at HotChocolate.Execution.RequestExecutorResolver.CreateSchemaServicesAsync(NameString schemaName,CancellationToken cancellationToken)
   at HotChocolate.Execution.RequestExecutorResolver.GetRequestExecutorNoLockAsync(NameString schemaName,CancellationToken cancellationToken)
   at HotChocolate.Execution.RequestExecutorResolver.GetRequestExecutorAsync(NameString schemaName,CancellationToken cancellationToken)
   at HotChocolate.Execution.RequestExecutorProxy.GetRequestExecutorAsync(CancellationToken cancellationToken)
   at HotChocolate.AspNetCore.HttpPostMiddleware.HandleRequestAsync(HttpContext context,AllowedContentType contentType)
   at HotChocolate.AspNetCore.HttpPostMiddleware.InvokeAsync(HttpContext context)
   at HotChocolate.AspNetCore.WebSocketSubscriptionMiddleware.InvokeAsync(HttpContext context)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint,Task requestTask,ILogger logger)

在使用dot net web api实现graphql服务时遇到上述问题。

 public class UserModel
    {
        public List<IAddress> Addresses { get; set; }
    }

这是查询

public class Query
    {
        readonly IUserService _userService = null;
        public Query(IUserService userService)
        {
            _userService = userService;
        }

        public List<UserModel> Users => _userService.GetUsers();

    }

这是配置

public void ConfigureServices(IServiceCollection services)
    {
        _ = services.AddMvc();
        _ = services.AddControllers();
        _ = services.AddSingleton(CreateClusterClient);
        _ = services.AddScoped<IUserService,UserService>();
        _ = services.AddScoped<Query>();
        _ = services.AddGraphQLServer().AddQueryType<Query>();
        _ = services.AddGraphQLServer().AddType<UserType>();
    }

我正在使用上面的配置,模型,查询和其他东西。

解决方法

您的 objectType 定义是否实现了该接口?还是对象定义中的返回类型被定义为指定的联合?

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...