Ich habe eine C# / ASP.NET -Kern -Minimal -API -App, wobei die Prahlerei eine OpenAPI -Spezifikation generiert. Um dem Publish YML zu entsprechen, muss ich einen Server mit Pfad hinzufügen und die Pfadelemente aus einzelnen Gruppen entfernen.
.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Title = "My API",
Version = "2.0",
});
c.AddServer(new OpenApiServer
{
Url = "https://api.myapi.org.uk/api/v2",
Description = "Production"
});
c.AddServer(new OpenApiServer
{
Url = "https://localhost:{port}/api/v2",
Description = "Local",
Variables =
{
new ("port", new OpenApiServerVariable
{
Default = "7147",
}),
},
});
})
< /code>
Dann kartieren Sie später einen Endpunkt in einer Gruppe wie: < /p>
var builder = app.MapGroup("/needs");
builder .MapGet("/", async (CancellationToken cancellationToken) => { ... });
< /code>
Wenn ich versuche, dies mit der SWAGVE -UI zu testen, bekomme ich eine 404 -Antwort. Aber wenn ich den Pfad vom Server in die Gruppe bewege, funktioniert es gut..AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Title = "My API",
Version = "2.0",
});
c.AddServer(new OpenApiServer
{
Url = "https://api.myapi.org.uk/",
Description = "Production"
});
c.AddServer(new OpenApiServer
{
Url = "https://localhost:{port}/",
Description = "Local",
Variables =
{
new ("port", new OpenApiServerVariable
{
Default = "7147",
}),
},
});
})
// ...
var builder = app.MapGroup("/api/v2/needs");
builder .MapGet("/", async (CancellationToken cancellationToken) => { ... });
< /code>
Ich habe viele Kombinationen ausprobiert, kann aber nicht herausfinden, was los ist. Ist dies einfach Teil der Spezifikation, die nicht korrekt implementiert wird, oder gibt es eine Möglichkeit, dass es funktioniert?openapi: 3.0.1
info:
title: My API
version: '2.0'
servers:
- url: https://myapi.org.uk/api/v2
description: Production
- url: 'https://localhost:{port}'
description: Local
variables:
port:
default: '7147'
paths:
/needs:
get:
...
Ich habe eine C# / ASP.NET -Kern -Minimal -API -App, wobei die Prahlerei eine OpenAPI -Spezifikation generiert. Um dem Publish YML zu entsprechen, muss ich einen Server mit Pfad hinzufügen und die Pfadelemente aus einzelnen Gruppen entfernen.[code].AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "2.0", });
c.AddServer(new OpenApiServer { Url = "https://localhost:{port}/api/v2", Description = "Local", Variables = { new ("port", new OpenApiServerVariable { Default = "7147", }), }, }); }) < /code> Dann kartieren Sie später einen Endpunkt in einer Gruppe wie: < /p> var builder = app.MapGroup("/needs"); builder .MapGet("/", async (CancellationToken cancellationToken) => { ... }); < /code> Wenn ich versuche, dies mit der SWAGVE -UI zu testen, bekomme ich eine 404 -Antwort. Aber wenn ich den Pfad vom Server in die Gruppe bewege, funktioniert es gut..AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "2.0", });
var builder = app.MapGroup("/api/v2/needs"); builder .MapGet("/", async (CancellationToken cancellationToken) => { ... }); < /code> Ich habe viele Kombinationen ausprobiert, kann aber nicht herausfinden, was los ist. Ist dies einfach Teil der Spezifikation, die nicht korrekt implementiert wird, oder gibt es eine Möglichkeit, dass es funktioniert?openapi: 3.0.1 info: title: My API version: '2.0' servers: - url: https://myapi.org.uk/api/v2 description: Production - url: 'https://localhost:{port}' description: Local variables: port: default: '7147'
IM 'Verwenden von OpenAPI-Generator-Maven-Plugin 7.9.0 in einem Spring Boot 3.3.4-Projekt. Hier ist mein Beispielspezifikation:
/scripts/search:
post:
operationId: getScriptByFilter
requestBody:...
Swagger OpenAPI 3.0 arbeitet mit Springdoc-OpenAPI-UI und einer benutzerdefinierten OpenAPI-Bean.
org.springframework.cloud
spring-cloud-starter-parent
Hoxton.SR10
Problem Ein Enum mit mehreren Feldern muss in der offenen API -Spezifikation definiert werden. Maven org.openapitools: OpenAPI-Generator-Maven-Plugin: 7.10.0 wird verwendet. {
myEnum : {
type :...