Swagger를 사용하다 보면 가끔 전혀 생각지 못했던 곳에서 오류가 나오곤 한다. 오늘은 이런 오류에 대해서 살펴보자.
위 오류(정확히는 warn)가 발생하더라도 프로그램은 잘 동작하니까 그다지 심각한 내용은 아니지만 상당히 긴 trace 내용이 신경이 거슬르게 한다.
문제의 출발점은 io.swagger.models.parameters.AbstractSerializableParameter.getExample에서 발생했는데 당연히 내 코드에서는 해당 메서드를 "직접" 사용한 적은 없었다.
어디서 간접적으로 사용된 곳이 있을텐데..
문제를 일으킨 코드
문제는 아래의 코드에서 발생했다.
ApiModelProperty
example이라는 것은 swagger api가 작성될 때 사용하는 속성의 기본 값이다. 만약 속성의 타입이 Integer이고 example에 별도의 할당이 없는 경우 ""을 Integer로 변경할 수 없어서 발생하는 오류이다.
ApiModelProperty 뿐 아니라 @ApiParam 등에서도 동일한 문제가 발생할 수 있으므로 오류 상황을 기억했다가 써먹어볼 수 있겠다.
코드 수정
이제 문제의 코드에 example 값을 숫자형으로 넘겨주면 해결이다.