Как я могу использовать Swagger-UI? - PullRequest
0 голосов
/ 09 мая 2019

Я использую пакет Swashbuckle NuGet в своем проекте веб-API и пытался заменить стандартный интерфейс Swagger на этот https://github.com/jensoleg/swagger-ui

но я получаю это сообщение об ошибке

<?xml version="1.0" encoding="ISO-8859-1"?>
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>Embedded resource not found - ReportsAPI.swagger-ui.Index.html</ExceptionMessage>
<ExceptionType>Swashbuckle.SwaggerUi.AssetNotFound</ExceptionType>
<StackTrace> at Swashbuckle.SwaggerUi.EmbeddedAssetProvider.GetEmbeddedResourceStreamFor(EmbeddedAssetDescriptor resourceDescriptor, String rootUrl) at Swashbuckle.SwaggerUi.EmbeddedAssetProvider.GetAsset(String rootUrl, String path) at Swashbuckle.Application.SwaggerUiHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)</StackTrace>
</Error>

Я последовал совету из этого поста Полностью заменить интерфейс Swashbuckle

Но не смог заставить его работать

У меня есть базовый ASP.Net Web API 2 (простой API для отдыха без веб-сайта или индекса HTML)

Поэтому я скачал zip-файл со страницы swagger-ui на GitHub, скопировал папку dist в свой проект и включил ее в качестве (пробовал как Content, так и Embedded) - и переименовал папку dist в swagger-ui

Итак, моя корневая папка проекта теперь выглядит как

enter image description here

Затем я изменил свою конфигурацию Swagger, добавив следующее

c.CustomAsset("index", thisAssembly, "ReportsAPI.swagger-ui.Index.html");

Это правильно? Я не уверен, куда идти отсюда

Нужно ли включать все другие файлы в качестве встроенного ресурса? Или только Index.html? Чем я помечаю другие файлы как, Контент? Копировать всегда?

1 Ответ

1 голос
/ 12 мая 2019

Вот альтернатива, которая не требует от вас встраивания чего-либо в ваш проект:

https://raw.githack.com/jensoleg/swagger-ui/master/dist/index.html?url=https://swagger-net-test.azurewebsites.net/swagger/docs/V1

Как вы можете видеть, моя спецификация swagger предоставляется в параметре url.
Вы можете использовать это raw.githack.com или просто скопировать папку dist в более удобное место.


Теперь я хотел бы отметить, что это очень старая версия swagger-ui и неВ хорошем состоянии, возможно, вам стоит взглянуть на: ReDoc https://github.com/Rebilly/ReDoc/blob/master/README.md

...