Я использую файл swagger.json (сгенерированный Swashbuckle) для ReDoc для отображения документации API.
Что мне нужно:
Добавьте расширение x-logo
вендора к swagger json, сгенерированному с помощью Swashbuckle (Swashbuckle.AspNetCore.SwaggerGen
библиотека), чтобы пользовательский интерфейс ReDoc отображал логотип в верхнем левом углу , как это
Проблема:
Мне удалось добавить x-log
в файл swagger.json, но он был добавлен в неправильный раздел файла. Он должен быть внутри info
секции.
Это то, что я сделал, чтобы добавить x-logo
- Создан фильтр документов, как показано ниже
public class XLogoDocumentFilter : IDocumentFilter
{
public void Apply(SwaggerDocument swaggerDoc, DocumentFilterContext context)
{
swaggerDoc.Extensions["x-logo"] = new { url = "https://URL/of/the/logo", altText = "Company Logo" };
}
}
- Добавлен фильтр к
SwaggerDoc
как
services.AddSwaggerGen(options =>
{
options.DocumentFilter<XLogoDocumentFilter>();
});
Фактический
{
"swagger": "2.0",
"info": {
"version": "v1",
"title":"Sample REST API"
},
"x-logo": {
"url": "https://rebilly.github.io/ReDoc/petstore-logo.png",
"altText": "Aimia Logo"
}
}
Ожидаемое
{
"swagger": "2.0",
"info": {
"version": "v1",
"title":"Sample REST API",
"x-logo": {
"url": "https://rebilly.github.io/ReDoc/petstore-logo.png",
"altText": "Aimia Logo"
}
},
}
Действительно благодарны за любую помощь или предложения, чтобы иметь x-logo
в правильном разделе файла swagger.json.