반응형
swagger 구현 후 특정 Operation을 클릭 했을 때 사용되는 DTO 객체를 참조할 수 없다는 오류가 발생하곤 합니다.
Could not resolve reference: Could not resolve pointer: /definitions/TestDTO - 테스트 DTO does not exist in document
swagger에서 등록을 할 때 참조를 할 수 없어서 발생하는 오류인데,
대부분 @ApiModel 이나 @ApiModelProperty 의 value 속성에 특수문자를 입력했기 때문에 발생합니다.
예를들어 '<', '>' '/' 와 같은 HTML 태그에 사용되는 특수문자나
'[', ']', '{', '}' 와 같은 JSON 형식에서 사용되는 특수문자를 사용했을 때 발생하게 됩니다.
문제가 발생하는 예)
'/' 때문에 문제 발생
@ApiModel(value = "InsUpdtDTO - 수정/등록용 DTO")
'[', ']' 때문에 문제 발생
@ApiModelProperty(value = "장비 ID / [VARCHAR2(33)]", required = true, example = "0")
해결 방법은 위와 같은 특수문자를 사용하지 않거나, 문자로 인식하도록 '\\' 를 붙여주면 됩니다.
@ApiModel(value = "InsUpdtDTO - 수정\\/등록용 DTO")
@ApiModelProperty(value = "장비 ID \\/ \\[VARCHAR2(33)\\]", required = true, example = "0")
안쓰는게 더 보기 좋긴 하죠^^;
반응형
'Programing > JAVA' 카테고리의 다른 글
IntelliJ Spring boot 2.x project Java 설정 방법 (0) | 2023.07.31 |
---|---|
swagger 응답 타입이 Void 일 때 참조 에러 해결 방법 (0) | 2023.07.20 |
Java Refrection API 알짜만 빼먹기 (0) | 2023.07.10 |
static 메소드, 변수의 Thread safe, unsafe (0) | 2023.06.26 |
getReader() has already been called for this request 해결 방법 (0) | 2023.05.25 |
댓글