ASP.NET CORE OPENAPI - Как добавить примеры запроса?C#

Место общения программистов C#
Ответить
Anonymous
 ASP.NET CORE OPENAPI - Как добавить примеры запроса?

Сообщение Anonymous »

Я пытаюсь добавить пример запросов запросов в мою спецификацию OpenAPI в приложении ASP.NET Core 8 Minimal API.

Код: Выделить всё

using Microsoft.OpenApi.Any;
using Microsoft.OpenApi.Models;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddOpenApi();

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
}

app.UseHttpsRedirection();

app.MapPost("/weatherforecast", (WeatherForecast weatherForecast) => Results.Ok())
.WithName("Add WeatherForecast")
.WithOpenApi(operation =>
{
operation.RequestBody = new OpenApiRequestBody
{
Content =
{
["application/json"] = new OpenApiMediaType
{
Example = new OpenApiObject
{
["date"] = new OpenApiString("2025-07-10"),
["temperatureC"] = new OpenApiInteger(25),
["summary"] = new OpenApiString("Sunny")
}
}
}
};
return operation;
});

app.Run();

record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}
Однако, когда я посещаю сгенерированную спецификацию openapi по адресу/openapi/v1.json , пример, который я добавил, не отображается в разделе корпуса запроса:

Код: Выделить всё

"/weatherforecast": {
"post": {
"tags": [
"WebApplication4"
],
"operationId": "Add WeatherForecast",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WeatherForecast"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK"
}
}
}
}
Почему пример, который я установил в OpenApimediatype Не отображаться в спецификации OpenAPI? Я упускаю что -то в том, как схема и пример запроса схемы тела и пример интегрированы с маршрутом?

Подробнее здесь: https://stackoverflow.com/questions/796 ... t-examples
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»