Springdo c openapi с webflux: отображать пользовательский файл json / yml вместо сгенерированного - PullRequest
1 голос
/ 13 июля 2020

У меня есть простой файл описания службы open-api. json:

{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenAPI definition",
    "version": "v0"
  },
  "paths": {
    "/agents/{id}/plugins": {
      "post": {
        "tags": [
          "api-controller"
        ],
...
  },
  "components": {}
}

И я использую springdo c -openapi-webflux-ui в моем проекте Spring-webflux:

        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-webflux-ui</artifactId>
            <version>1.4.0</version>
        </dependency>

Можно ли отображать существующий файл вместо сгенерированного? Любая помощь, спасибо!

Ответы [ 2 ]

1 голос
/ 31 августа 2020

Если ваш файл содержит документацию OpenAPI в формате OpenAPI 3. Затем просто объявите: (Имя файла может быть любым, с момента согласования вашего объявления)

springdoc.swagger-ui.url=/open-api.json

Тогда файл open-api. json должен находиться в: src / main / resources / stati c

Никакой дополнительной настройки не требуется.

Свойство springdo c .swagger-ui.configUrl может использоваться для различных целей, как описано здесь, поскольку структура отличается от

0 голосов
/ 13 июля 2020

Хорошо, вот что вам нужно.

  1. Внутри каталога src / main / resources создайте каталог с именем stati c. Внутри него поместите файл open-api. json. ( Примечание - имя файла json может быть любым) [ Здесь - это пример открытого API c json файл]
  2. Добавить это свойство в вашем приложении yaml:
springdoc:
  swagger-ui:
    configUrl: /open-api.json

Затем запустите приложение и нажмите URL-адрес http://localhost: 8080 / swagger-ui. html

Примечание. что при наличии пружинной защиты вам потребуется дополнительная конфигурация.

...