Události
31. 3. 23 - 2. 4. 23
Ultimate Power BI, Fabric, SQL a AI community-led event. 31. března – 2. dubna. Použijte kód MSCUST pro slevu ve výši 150 USD. Ceny jdou nahoru 11. února.
Zaregistrovat se ještě dnesTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Poznámka
Toto není nejnovější verze tohoto článku. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Upozornění
Tato verze ASP.NET Core se už nepodporuje. Další informace najdete v zásadách podpory .NET a .NET Core. Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Důležité
Tyto informace se týkají předběžného vydání produktu, který může být podstatně změněn před komerčním vydáním. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Aktuální verzi najdete v tomto článku ve verzi .NET 9.
Autor: James Newton-King
OpenAPI (Swagger) je specifikace nezávislá na jazyce pro popis REST rozhraní API. Transkódování json gRPC podporuje generování OpenAPI z transkódovaných rozhraní RESTful API. Balíček Microsoft.AspNetCore.Grpc.Swagger
:
Povolení transkódování OpenAPI s gRPC JSON:
Microsoft.AspNetCore.Grpc.Swagger
Verze musí být 0.3.0-xxx nebo novější.AddGrpcSwagger
nakonfiguruje Swashbuckle tak, aby zahrnovala koncové body gRPC.var builder = WebApplication.CreateBuilder(args);
builder.Services.AddGrpc().AddJsonTranscoding();
builder.Services.AddGrpcSwagger();
builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1",
new OpenApiInfo { Title = "gRPC transcoding", Version = "v1" });
});
var app = builder.Build();
app.UseSwagger();
if (app.Environment.IsDevelopment())
{
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
}
app.MapGrpcService<GreeterService>();
app.Run();
Poznámka
Pokyny k přidávání balíčků do aplikací .NET najdete v článcích v části Instalace a správa balíčků na webu Pracovní postup používání balíčků (dokumentace k NuGetu). Ověřte správné verze balíčků na NuGet.org.
Vygenerujte popisy OpenAPI z komentářů ve smlouvě .proto
, jak je znázorněno v následujícím příkladu:
// My amazing greeter service.
service Greeter {
// Sends a greeting.
rpc SayHello (HelloRequest) returns (HelloReply) {
option (google.api.http) = {
get: "/v1/greeter/{name}"
};
}
}
message HelloRequest {
// Name to say hello to.
string name = 1;
}
message HelloReply {
// Hello reply message.
string message = 1;
}
Povolení komentářů gRPC OpenAPI:
<GenerateDocumentationFile>true</GenerateDocumentationFile>
.AddSwaggerGen
čtení vygenerovaného souboru XML. Předejte cestu k IncludeXmlComments
souboru XML a IncludeGrpcXmlComments
, jako v následujícím příkladu:builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1",
new OpenApiInfo { Title = "gRPC transcoding", Version = "v1" });
var filePath = Path.Combine(System.AppContext.BaseDirectory, "Server.xml");
c.IncludeXmlComments(filePath);
c.IncludeGrpcXmlComments(filePath, includeControllerXmlComments: true);
});
Pokud chcete ověřit, že Swashbuckle generuje OpenAPI s popisy služeb RESTful gRPC, spusťte aplikaci a přejděte na stránku Swagger UI:
Zpětná vazba k produktu ASP.NET Core
ASP.NET Core je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
31. 3. 23 - 2. 4. 23
Ultimate Power BI, Fabric, SQL a AI community-led event. 31. března – 2. dubna. Použijte kód MSCUST pro slevu ve výši 150 USD. Ceny jdou nahoru 11. února.
Zaregistrovat se ještě dnes