REST 웹 서비스를 위한 문서화 도구
https://github.com/swagger-api/swagger-core
springdoc-openapi는 Swagger Core를 기반으로 만들어졌다. 따라서 Spring Framework를 사용하는 경우 문서화에서 발생하는 이슈는 대부분 swagger-core와 관련이 있다.
@JsonFormat
이 적용되지 않는 문제Github Issue: https://github.com/swagger-api/swagger-core/issues/3691
다음과 같이 kotlin 코드를 작성하였다.
data class Response(
@JsonUnwrapped
val status: Status,
val data: Any?
)
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
enum class Status(val code: Int, val message: String) {
SUCCESS(0, "success"),
FAIL(1, "fail")
}
내가 예상한 serialization 결과:
{
"code": 0,
"message": "success",
"data": null
}
실제 serialization 결과:
{
"status": "SUCCESS",
"data": null
}
@JsonUnwrapped
, @JsonFormat
이 적용되지 않았다.
아직 별다른 해결 방법이 없는 모양. 이슈에서 관련 로직을 재작성한다는 거 같다.