[英]What is the difference between graphql-dotnet/graphql-dotnet/ and graphql-dotnet/server/
早上好。
我對這兩個存儲庫( graphql-dotnet/graphql-dotnet/
和graphql-dotnet/server/
)有點困惑。
https://github.com/graphql-dotnet/graphql-dotnet/和https://github.com/graphql-dotnet/server
他們都在同一個組織下,並且貢獻者有一些重疊,但我對決定使用哪一個有點迷茫。
我想構建一個托管 graphql 端點的 dotnet 5 應用程序。 簡而言之,這是我的目標。
我注意到graphql-dotnet/server/
存儲庫內置了一些幫助程序,例如。
serviceCollection
.AddGraphQL((options, provider) =>
{
options.EnableMetrics = HostEnvironment.IsDevelopment();
var logger = provider.GetRequiredService<ILogger<Startup>>();
options.UnhandledExceptionDelegate = ctx => logger.LogError("{Error} occurred", ctx.OriginalException.Message);
})
.AddSystemTextJson()
.AddErrorInfoProvider(opt => opt.ExposeExceptionStackTrace = HostEnvironment.IsDevelopment())
.AddWebSockets()
.AddDataLoader()
.AddGraphTypes(typeof(ApplicationSchema))
這使我的 DI 設置得很好而且很容易。 它的對應物graphql-dotnet/graphql-dotnet/
沒有。
所以我的問題是“我應該專門使用哪一個?推薦哪一個,次要目標是添加 jwt 身份驗證,最后是聯邦支持。但這兩個遠遠不夠。
我的一位同事繼續使用graphql-dotnet/graphql-dotnet/
並且他的服務器應用程序的配置比graphql-dotnet/server/
的文檔要多得多,所以我怎么知道我使用哪一個?
任何人都可以推薦任何突出它們兩者之間差異的文檔嗎?
主要的 graphql-dotnet 存儲庫是 GraphQL 組件的“核心”庫。 服務器存儲庫包含 ASP.NET 特定擴展。 它使用核心庫。 如果您使用服務器項目,那么您也在使用核心庫。
GraphQL 本身可以與任何協議一起使用,不需要與 HTTP 或 JSON 一起使用。 所以核心庫沒有任何 HTTP 或 ASP.NET 依賴。
如果您使用的是 ASP.NET,那么服務器項目是最快的入門方式。 如果您想使用訂閱,則服務器項目提供該功能。
如果您不需要訂閱,並且想要更多地控制框架如何處理 HTTP 請求,那么編寫自己的 controller 或中間件會更容易。
使用 JWT 身份驗證由 ASP.NET 處理,可用於任一場景。 聯合也可以在任一場景中使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.