HTTPS에서 스웨거
보통 프로젝트를 진행하면서 서비스를 배포하고 도메인을 붙이고 HTTPS를 적용할 것이다.
하지만 스웨거의 기본 서버 URL은 http://localhost:8080 이므로
HTTPS를 적용할 때 스웨거에서 설정을 추가해주지 않으면 이 글처럼 CORS 에러를 만나는 수가 있다.
따라서 환경에 따라 스웨거 서버 설정을 변경해주어야 한다.
1. SwaggerConfig 설정 추가
SwaggerConfig
아래처럼 서버 설정을 추가하고 환경변수로 분리하여 환경에 맞게 관리한다.
@Configuration
@RequiredArgsConstructor
@SecurityScheme(
name = "jwt-cookie",
type = SecuritySchemeType.APIKEY,
in = SecuritySchemeIn.COOKIE
)
public class SwaggerConfig {
private final AppConfig appConfig;
@Bean
public OpenAPI serverApiConfig() {
Server server = new Server();
server.setUrl(appConfig.getBackUrl()); // 여기서 서버 URL 설정 가능 -> 환경 변수로 관리
server.description("백엔드 도메인");
return new OpenAPI()
.addServersItem(server)
.info(new Info().title("PAWLAND API")
.description("PAWLAND API SWAGGER UI입니다."));
}
}
2. 결과 확인
아래처럼 스웨거 서버 URL을 yml으로 관리하여 프로필에 따라 환경 변수를 다르게 할 수 있다.
1. 로컬에서 테스트 시 서버 URL - application-local.yml
2. 배포 시 서버 URL - application-prod.yml
'API 만들어 보기 > API 문서 자동화' 카테고리의 다른 글
API 문서 자동화 2: Spring Rest Docs + Swagger 구현하기 (0) | 2024.06.12 |
---|---|
API 문서 자동화 1: Spring Rest Docs vs Swagger 장단점 비교 (0) | 2024.06.11 |
스웨거 사용해보기 4: API 인증 필요 여부 개별 관리 (0) | 2024.05.15 |
스웨거 사용해보기 2: API 인증 필요 여부 표기 (0) | 2024.05.02 |
스웨거 사용해보기 1: 기본 설정 (0) | 2024.05.01 |