Swagger 오류

Junyoung·2024년 4월 4일

trouble

목록 보기
4/8
  1. build.gradle 파일에 Swagger 를 등록해준다.

// Swagger
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.1.0'

  1. Swagger Config 파일을 등록해서 모든 URL에 Header를 설정해주는 기능을 추가했다.

package com.ssafy.newstar.global.config;

import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import io.swagger.v3.oas.models.servers.Server;
import java.util.Collections;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class SwaggerConfig {

  public static final String AUTHORIZATION_HEADER = "X-User-Id";

  @Bean
  public OpenAPI openAPI() {
    SecurityScheme securityScheme = new SecurityScheme()
        .type(SecurityScheme.Type.APIKEY)
        .in(SecurityScheme.In.HEADER).name(AUTHORIZATION_HEADER);
    SecurityRequirement securityRequirement = new SecurityRequirement().addList(
        AUTHORIZATION_HEADER, Collections.emptyList());

    return new OpenAPI()
        .components(new Components().addSecuritySchemes(AUTHORIZATION_HEADER, securityScheme))
        .security(Collections.singletonList(securityRequirement))
        .servers(Collections.singletonList(new Server().url("https://newstar.world/api")));
  }
}
  1. "https://newstar.world/api" 설정을 통해서 Swagger 를 보내는 IP 주소를 설정해준다 !

이 과정에서 해당 에러를 마주했다 !

Swagger을 로컬에서 구축해 로컬의 url로 Swagger를 접근했을때 마주했던 오류이다 !

이 에러의 해결법은 단순했다 !

Swagger를 서버에서 접근해서 API를 보내면 정상적으로 받을수 있었다.

profile
라곰

0개의 댓글