Я использую 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?