.net - 没有实现接口“IAddress”的对象类型。(HotChocolate.Types.InterfaceType)
问题描述
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>();
}
我正在使用上面的配置、模型、查询和其他东西。
解决方案
您的 objectType 定义是否实现了该接口?或者对象定义中的返回类型是否定义为指定的联合?
推荐阅读
- java - 有没有办法从表格中列出列表?
- directory - delphi DirectoryListBox 获取选中的目录名
- firebase - 不同地区的多个 Firebase 环境
- powershell - 在 TeamCity 中设置参数并在设置后检查值
- android - 如何在 kotlin 扩展中将数据类作为参数传递
- c++ - 为什么manifest文件没有效果
- google-sheets - 如何使用 google colab 阅读 google 电子表格
- python-3.x - 获取 Pandas DataFrame 子集的第一个和最后一个索引
- javascript - Usng jquery需要创建没有余数的除法和
- node.js - 为什么我不能为这个简单的 MEAN 应用程序验证注册用户?