Заменить длинные аннотации в Kotlin - PullRequest
0 голосов
/ 10 марта 2020

Я разрабатываю Spring Boot, используя Kotlin. Теперь я хочу создать документы API, однако их аннотации неуклюжи и многословны.

Текущий:

@ApiResponses(
    ApiResponse(responseCode = "200", description = "Result depending on the role of the user", content = [Content(schema = Schema(oneOf = [AdminResponse::class, UserResponse::class]))])
)
fun get(authentication: Authentication): Any {
[...]
}

Как я хочу, это выглядит так:

@Api(
    Response(200, "Result depending on the role of the user", [AdminResponse::class, UserResponse::class])
)
fun get(authentication: Authentication): Any {
[...]
}

Может Я использую что-то, чтобы заархивировать это? Некоторые идеи - Предварительная обработка и Typealiases.

1 Ответ

2 голосов
/ 01 мая 2020

Swagger аннотации существуют в течение многих лет, стабильны и гарантируют отличный результат для соответствия спецификации OpenAPI 3.

Сказано, что вы можете создавать свои собственные аннотации и заново изобретать колесо ...

...