Asp.net-Core

不知道是否可以在 Hot Chocolate for ASP.NET Core 中使用多個模式

  • April 21, 2021

我正在嘗試在 ASP.NET Core 上使用 Hot Chocolate 庫開始開發 GraphQL API,但我不知道如何為不同的端點使用不同的模式。我知道模式拼接,但這不是我想要的。我想實現的,就是能夠從不同的端點查詢不同的類型,比如我想從localhost:5000/graphapi查詢使用者數據,從localhost:5000/admin/graphapi查詢不同的admin數據是的,可以為此創建單獨的伺服器,但我想擁有單體 API。

這個很簡單,

首先為您的模式設置 GraphQL 配置:

public void ConfigureServices(IServiceCollection services)
{
   services
       .AddRouting()

   services
       .AddGraphQLServer()
       .AddQueryType<Query>()
       .AddMutationType<Mutation>();

   services
       .AddGraphQLServer("adminSchema")
       .AddQueryType<QueryAdmin>()
       .AddMutationType<MutationAdmin>();
}

接下來我們需要配置模式到具體路由的映射:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
   app
       .UseRouting()
       .UseEndpoints(endpoints =>
       {
           endpoints.MapGraphQL();
           endpoints.MapGraphQL("/admin/graphql", schemaName: "adminSchema");
       });
}

完畢。

引用自:https://stackoverflow.com/questions/66841847