Wie füge ich mit .net mehrere Abfragen oder Mutationen in graphql ein?
Posted: 21 Dec 2024, 00:05
Ich habe (UserQuery) und (PostQuery) wie folgt deklariert:
namespace Blogging.API.Query
{
[ExtendObjectType("Query")]
public class UserQuery
{
[UseFiltering]
[UseSorting]
public async Task GetAll([Service] IUserResolver resolver)
{
return await resolver.GetAll();
}
public async Task GetById([Service] IUserResolver resolver,int id)
{
return await resolver.GetById(id);
}
}
}
namespace Blogging.API.Query
{
[ExtendObjectType("Query")]
public class PostQuery
{
private readonly IPostResolver _postResolver;
public PostQuery(IPostResolver postResolver)
{
_postResolver = postResolver;
}
[UseFiltering]
[UseSorting]
public Task GetAll()
{
return _postResolver.GetAll();
}
public async Task GetById(int id)
{
return await _postResolver.GetById(id);
}
[UseFiltering]
[UseSorting]
public async Task GetUserPosts(int userId)
{
return _=await _postResolver.GetUserPosts(userId);
}
}
}
und sie in program.cs wie folgt konfigurieren:
builder.Services
.AddGraphQLServer()
.AddQueryType(q=>q.Name("Query"))
.AddType()
.AddType
()
.AddFiltering().AddSorting();
aber wenn ich /graphql öffne, wird mir (KEIN SCHEMA) angezeigt, während, wenn ich eine dieser Abfrageklassen entfernt habe, das Schema angezeigt wird!
Ich möchte wissen, was daran das Problem ist.
namespace Blogging.API.Query
{
[ExtendObjectType("Query")]
public class UserQuery
{
[UseFiltering]
[UseSorting]
public async Task GetAll([Service] IUserResolver resolver)
{
return await resolver.GetAll();
}
public async Task GetById([Service] IUserResolver resolver,int id)
{
return await resolver.GetById(id);
}
}
}
namespace Blogging.API.Query
{
[ExtendObjectType("Query")]
public class PostQuery
{
private readonly IPostResolver _postResolver;
public PostQuery(IPostResolver postResolver)
{
_postResolver = postResolver;
}
[UseFiltering]
[UseSorting]
public Task GetAll()
{
return _postResolver.GetAll();
}
public async Task GetById(int id)
{
return await _postResolver.GetById(id);
}
[UseFiltering]
[UseSorting]
public async Task GetUserPosts(int userId)
{
return _=await _postResolver.GetUserPosts(userId);
}
}
}
und sie in program.cs wie folgt konfigurieren:
builder.Services
.AddGraphQLServer()
.AddQueryType(q=>q.Name("Query"))
.AddType()
.AddType
()
.AddFiltering().AddSorting();
aber wenn ich /graphql öffne, wird mir (KEIN SCHEMA) angezeigt, während, wenn ich eine dieser Abfrageklassen entfernt habe, das Schema angezeigt wird!
Ich möchte wissen, was daran das Problem ist.