์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[swagger] Failed to fetch. Possible Reasons: CORS, Network Failure, URL scheme must be "http" or "https" for CORS request

๋ณธ๋ฌธ

์ƒํ™ฉ

์šด์˜ ์„œ๋ฒ„์—์„œ SWAGGER๋กœ ์š”์ฒญ๋ณด๋ƒˆ๋”๋‹ˆ CORS ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. 

Curl ๋ช…๋ น์–ด ํ™•์ธํ•ด๋ณด๋‹ˆ https๊ฐ€ ์•„๋‹Œ http ๋กœ ์š”์ฒญ์ด ๊ฐ”์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 


๋ฐœ์ƒ ์›์ธ

์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋Š” HTTPS ์ธ๋ฐ HTTP๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์ด๋‹ค.

 

CORS์— ๋Œ€ํ•ด ์ •๋ฆฌ ์ž˜ ํ•ด๋‘์‹  ๋ธ”๋กœ๊ทธ ์ฒจ๋ถ€)

https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-CORS-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%F0%9F%91%8F

 

๐ŸŒ ์•…๋ช… ๋†’์€ CORS ๊ฐœ๋… & ํ•ด๊ฒฐ๋ฒ• - ์ •๋ฆฌ ๋ํŒ์™• ๐Ÿ‘

์•…๋ช… ๋†’์€ CORS ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์›น ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ๋ฐ˜๋“œ์‹œ ๋งˆ์ฃผ์น˜๋Š” ๋ฉ๋ฉ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐ”๋กœ CORS ์ด๋‹ค. ์›น ๊ฐœ๋ฐœ์˜ ์‹ ์ž… ์‹ ๊ณ ์‹์ด๋ผ๊ณ  ํ•  ์ •๋„๋กœ, CORS๋Š” ๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋ฒˆ ์ •๋„๋Š” ๊ฒช๊ฒŒ ๋œ๋‹ค๊ณ  ํ•ด๋„ ๊ณผ์–ธ์ด

inpa.tistory.com

 


ํ•ด๊ฒฐ๋ฐฉ์•ˆ

 

Swagger ์„ค์ •์„ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค 

 

serverUrl์„ active profile (local, prod ๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•˜๋„๋ก ํ•˜์˜€๋‹ค)

@Configuration
public class SwaggerConfig {

    @Value("${swagger.url}")
    private String serverUrl;

    @Bean
    public OpenAPI springOpenApi() {
        return new OpenAPI()
            .components(createComponents())
            .addServersItem(createServer());
    }

    private Server createServer() {
        return new Server().url(serverUrl);
    }
}

 

 

 

 

 

728x90

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ