728x90
Failed to fetch, CORS, spring, https, http
문제상황
- http로 잘 동작하던 api를 https로 배포하였더니 swagger에서 cors에러가 발생
- https로 api요청을 보내면 잘 되는 것을 확인하였음
@RestController
@RequiredArgsConstructor
@CrossOrigin(origins = "*", allowedHeaders = "*")
public class FacilityController {
}
- @CrossOrigin 어노테이션도 잘 설정해둔 상태인데.. 왜?
문제원인
- swagger는 기본적으로 http로 요청을 보내도록 설정되어있음
- https로 배포했기 때문에 차이가 생겨 CORS에러가 발생
문제해결
- @OpenAPIDefinition 어노테이션을 사용함
@OpenAPIDefinition(servers = {@Server(url = "/", description = "Default Server Url")}) //https사용 시 swagger사용하기 위한 cors해결법
@SpringBootApplication
public class AllimiApplication {
public static void main(String[] args) {
SpringApplication.run(AllimiApplication.class, args);
}
}
- url에 원하는 https도메인을 넣으면 된다. 모두 허용하려면 /로 설정
- 기본텍스트 경로가 /v3라면 url에 /v3으로 설정해주면 됨
참고자료
https://kbwplace.tistory.com/173
https://stackoverflow.com/questions/70843940/springdoc-openapi-ui-how-do-i-set-the-request-to-https
https://github.com/springdoc/springdoc-openapi/issues/726
728x90
'Backend > Spring' 카테고리의 다른 글
Spring testcode 작성 (0) | 2023.05.15 |
---|---|
dto에 필수값 @NotNull로 지정하기 (0) | 2023.05.15 |
[spring] windows에서 .jar파일 실행하기: nohup, javaw (0) | 2023.04.30 |
springboot 프로젝트 aws 배포하기(ubuntu, filezilla) (0) | 2023.04.10 |
springboot3 swagger 추가 (0) | 2023.04.01 |