Tapir- сгенерированный документ swagger не показывает множественные ошибки с одинаковым статусом ошибки
Я использую Tapir для определения своего интерфейса API, а также для создания документа swagger open api. Однако я столкнулся с этой проблемой
Я определил свои классы ошибок как
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")),
)
Когда я создаю документ swagger, в моем сгенерированном документе я получаю только одно описание InternalServerError, а не два, как ожидалось, т.е. описание для Error2, а не для Error1. Я предполагаю, что для одного и того же кода состояния всегда требуется отображение последней ошибки.
Есть ли способ получить два разных описания сгенерированного документа?