2016-06-08 3 views
1

Я использую SwaggerUI для документирования конечных точек API. В настоящее время они сгруппированы по имени контроллера в одном длинном списке. Затем вы можете развернуть каждый контроллер, чтобы просмотреть операции. Все стандартно.Swagger UI вложенные расширяемые группы

Что я хотел бы сделать, это группа контроллеров под общими расширяемыми группами.

Так, например, у вас есть группа Pet, которую можно развернуть, чтобы выявить контроллеры Cat и Dog, которые затем могут быть расширены, чтобы показать их соответствующие операции.

Я попытался использовать теги, чтобы добиться этого, но лучшее, что я могу получить, - это все операции, сгруппированные под одной расширяемой группой.

Кто-нибудь знает, возможно ли это с помощью стандартного swaggerUI? Или мне нужно создать пользовательский HTML для этого?

+1

Вы не можете создавать вложенные группы со стандартным пользовательским интерфейсом swagger. Однако вы можете применять несколько меток для метода (например, Pet и Cat). В этом случае метод будет отображаться в группе Pet и в группе Cat. – venerik

ответ

0

Предполагаете, вы используете Swashbuckle? Вам нужно реализовать IDocumentFilter. Посмотрите на теги om Swagger 2.0 Spec.

From the docs:

DocumentFilter

после изменения всего документа Swagger по разводке один или несколько фильтров документов.

IDocumentFilter имеет следующий интерфейс:

void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer); 

Это дает полный контроль, чтобы изменить окончательный SwaggerDocument. Вы можете получить дополнительный контекст из предоставленного SwaggerDocument (например, версии) и IApiExplorer. Вы должны хорошо понимать спецификацию Swagger 2.0. перед использованием этой опции.

+0

Да, я использую Swashbuckle. Спасибо, я отдам это! –

Смежные вопросы