Следуя документации здесь - https://micronaut-projects.github.io/micronaut-openapi/1.3.4/guide/index.html
Я настроил свой build.gradle
, чтобы включить задачи времени компиляции для создания swagger yaml следующим образом:
tasks.withType(JavaCompile){
options.encoding = "UTF-8"
options.compilerArgs.add('-parameters')
options.fork = true
options.forkOptions.jvmArgs << '-Dmicronaut.openapi.views.spec=rapidoc.enabled=true,swagger-ui.enabled=true,swagger-ui.theme=flattop'
}
Так выглядит мой application.yaml
-
micronaut:
server:
port: 9090
cors:
enabled: true
router:
static-resources:
swagger:
paths: classpath:META-INF/swagger
mapping: /swagger/**
redoc:
paths: classpath:META-INF/swagger/views/redoc
mapping: /redoc/**
rapidoc:
paths: classpath:META-INF/swagger/views/rapidoc
mapping: /rapidoc/**
swagger-ui:
paths: classpath:META-INF/swagger/views/swagger-ui
mapping: /swagger-ui/**
Как сказано в do c, я также помечен Application.java
, как показано ниже -
package com.api.backend;
import io.micronaut.runtime.Micronaut;
import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Contact;
import io.swagger.v3.oas.annotations.info.Info;
@OpenAPIDefinition(
info = @Info(
title = "API Backend",
version = "0.0",
description = "API backend"
)
)
public class Application {
public static void main(String[] args) {
Micronaut.run(Application.class);
}
}
После выполнения все это, когда я пытаюсь открыть http://localhost:9090/swagger/api-backend-0.0.yaml
, он открывает сгенерированный открытый API spe c yaml. Однако, если я попытаюсь открыть http://localhost:9090/swagger-ui/
, я получу 404
.
Может ли кто-нибудь помочь мне разобраться в проблеме или предложить альтернативу?