【问题标题】:There is no object type implementing interface `IAddress`. (HotChocolate.Types.InterfaceType<Grains.Models.Interfaces.IAddress>)没有实现接口“IAddress”的对象类型。 (HotChocolate.Types.InterfaceType<Grains.Models.Interfaces.IAddress>)
【发布时间】:2021-05-17 12:58:58
【问题描述】:
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, RequestExecutorSetup options, 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>();
    }

我正在使用上面的配置,Model,Query等东西。

【问题讨论】:

  • 有人可以帮我解决这个问题吗,我也尝试过使用 InputObjectType ObjectType!但没有运气!
  • 使用了这个配置。

标签: .net graphql hotchocolate


【解决方案1】:

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

【讨论】:

  • 这似乎是个问题。您需要提供 IAddress 的实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多