카테고리 없음
Swagger 요청 값 불일치 오류
kangchaewon
2025. 7. 4. 17:25
문제
Swagger

Controller

Dto

Swagger에서 Controller에서 지정한 DTO를 요청하지 않고 다른 DTO를 요청함
원인
@Data
public class ClubRequest {
@Builder
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "동아리 등록 요청")
public static class RegisterRequest {
private String clubName;
private String description;
}
}
@Data
public class UserRequest {
@Builder
@Getter
@NoArgsConstructor
@AllArgsConstructor
public static class RegisterRequest {
private String userName;
}
}
- dto 파일들에 이름이 같은 내부 클래스가 여러개 존재
- 이럴 경우, Swagger 문서 생성기(SpringDoc)가 잘못된 클래스를 참조하거나 캐시해서 userName처럼 옛 DTO 필드가 Swagger에 노출됨
해결
yml 파일에
springdoc:
use-fqn: true
를 넣어주면 제대로 동작한다!
use-fqn: true는com.example.hello_springboot.model.ClubRequest.RegisterRequest처럼 파일명을 확인하여 정확환 식별자를 사용하여 swagger 문서를 생성한다.
