Как добавить пользовательские заголовки в документ NSwag с помощью C# .NET CORE?C#

Место общения программистов C#
Ответить
Anonymous
 Как добавить пользовательские заголовки в документ NSwag с помощью C# .NET CORE?

Сообщение Anonymous »

Мне нужно добавить собственные заголовки, но я не могу в этом разобраться. Я пытаюсь использовать новые службы.AddOpenApiDocument() вместо служб.AddSwaggerDocument(). Я хочу добавить эти пользовательские заголовки ко всему моему API, а не только к одному методу или контроллеру. Я попытался добавить операционный процессор, но при загрузке пользовательского интерфейса Swagger я получаю следующую ошибку: «😱 Не удалось отобразить этот компонент, см. консоль».

Здесь это мой фрагмент в моей функции ConfigureServices():

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

    services.AddOpenApiDocument(document =>
{
...
// this works fine
document.OperationProcessors.Add(new OperationSecurityScopeProcessor("Bearer"));
document.DocumentProcessors.Add(new SecurityDefinitionAppender("Bearer", new SwaggerSecurityScheme
{
Type = SwaggerSecuritySchemeType.ApiKey,
Name = "Authorization",
In = SwaggerSecurityApiKeyLocation.Header
})
);

// this is the header i want to show up for all endpoints that is breaking
document.OperationProcessors.Add(new SampleHeaderOperationProcessor());
});
Вот мой операционный процессор:

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

public class SampleHeaderOperationProcessor : IOperationProcessor
{
public Task ProcessAsync(OperationProcessorContext context)
{
context.OperationDescription.Operation.Parameters.Add(
new SwaggerParameter {
Name = "Sample",
Kind = SwaggerParameterKind.Header,
Type = NJsonSchema.JsonObjectType.String,
IsRequired = false,
Description = "This is a test header",
Default = "{{\"field1\": \"value1\", \"field2\": \"value2\"}}"
});

return Task.FromResult(true);
}
}
Единственное, что у меня есть по этому поводу в моей конфигурации():

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

    app.UseSwagger();
app.UseSwaggerUi3();
Вот моя ошибка и журнал консоли:
Моя ошибка и журнал консоли

Если это так помогает. Я использую ASP .NET CORE 2.2 и NSwag.AspNetCore v12.1.0

Подробнее здесь: https://stackoverflow.com/questions/557 ... p-net-core
Ответить

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

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

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

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

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