Tapir - сгенерированный swagger do c не показывает несколько ошибок с одинаковым статусом - PullRequest
0 голосов
/ 26 марта 2020

Я использую Tapir для определения моего интерфейса API, а также для генерации swagger open api do c. Однако я сталкиваюсь с этой проблемой

Я определил свои классы ошибок как

sealed abstract class SError extends Product with Serializable
object SError {
  final case class Error1(error: String) extends SError
  final case class Error2(error: String) extends SError
  final case class Error3(error: String) extends SError

}

У меня есть несколько ошибок при отображении, т. Е.

EndpointOutput.OneOf[SError] = 
    oneOf(
      statusMapping(StatusCodes.InternalServerError, jsonBody[Error1].description("Internal server error1.")),
      statusMapping(StatusCodes.InternalServerError, jsonBody[Error2].description("Internal server error2.")),
      statusMapping(StatusCodes.NotFound, jsonBody[Error3].description("Not found")),
    )

Когда я генерирую чванство do c, в моем сгенерированном do c я получаю только 1 описание InternalServerError, а не два, как ожидалось, т.е. описание для Error2 и не для Error1. Я предполагаю, что всегда требуется последнее отображение ошибок для одного и того же кода состояния.

Есть ли способ получить два разных описания для сгенерированного do c?

...