일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 도커
- custom valid
- NextJS
- 헤더 설정
- spring
- JPA
- MySQL
- jvm
- jpa entity자동
- generate pojos
- docker 설치
- docker
- JavaScript
- 리눅스
- CentOS6
- swagger
- Java
- memcached
- java8
- ollama langflow
- dto valid
- SpringBoot
- React
- header setting
- Next.js 14
- spring boot
- 초기 세팅
- java9
- 초기 구축
- generate entity
Archives
- Today
- Total
개발자의 길
[Swagger] Springdoc 설정에 header 값 설정 추가하기 본문
api 개발을 하다보면, 필연적으로 swagger 셋팅을 하기 마련이다.
그런데 api를 외부에 제공하기 위해선, 필수로 헤더에 access token 같은 암호화된 값을 받게끔 개발을 진행 할 것이다.
하지만 기본 swagger 설정에선, header 설정하는 부분이 없어서, config 에서 약간 수정을 하면 바로 사용 가능하다
내가 한 버전은
implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.5.0'
이거고, 굳이 starter-webmvc-ui가 아니더라도 springdoc 다른 라이브러리를 써도 상관없다.
@Configuration
public class SwaggerConfig {
// 이 부분은 multipart(첨부파일)과 다른 파라메타를 같이 쓰기 위한 설정
public SwaggerConfig(MappingJackson2HttpMessageConverter converter) {
var supportedMediaTypes = new ArrayList<>(converter.getSupportedMediaTypes());
supportedMediaTypes.add(new MediaType("application", "octet-stream"));
converter.setSupportedMediaTypes(supportedMediaTypes);
}
@Value("${title}")
private String devTitle;
@Bean
public OpenAPI openAPI() {
Info info = new Info()
.title("My API " + devTitle)
.version("1.0")
.description("My API");
//Constants.AUTH_TOKEN_HEADER = "MY-ACCESS-TOKEN"
List<SecurityRequirement> security = Arrays.asList(new SecurityRequirement().addList(Constants.AUTH_TOKEN_HEADER));
return new OpenAPI()
.components(new Components()
.addSecuritySchemes(Constants.AUTH_TOKEN_HEADER, apiKeySecuritySchema()))
.info(info)
.security(Collections.singletonList(new SecurityRequirement().addList(Constants.AUTH_TOKEN_HEADER)));
}
public SecurityScheme apiKeySecuritySchema() {
return new SecurityScheme()
.name(Constants.AUTH_TOKEN_HEADER) // authorisation-token
.description("Description about the NAS TOKEN")
.in(SecurityScheme.In.HEADER)
.type(SecurityScheme.Type.APIKEY);
}
}
잘 넣는다면 상단 우측에 초록색 버튼이 생긴다. 이 버튼을 눌러서 HEADER를 설정할수 있다.
수고링!
'4. JAVA' 카테고리의 다른 글
[Spring] java - 유용한 Custom Validation (0) | 2024.07.08 |
---|---|
Intellij 에서 JPA 용 Mysql -> Entity 클래스 파일 자동 생성 (0) | 2024.06.04 |
[java] url 파일 다운로드 / 서버 파일 경로 다운로드 (0) | 2024.01.05 |
[Thymeleaf] 유틸함수(#numbers,#strings,#arrays,#lists 등) (1) | 2023.11.08 |
Java history(~21) 및 버전 별 차이 & 특징 (0) | 2023.10.26 |
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Comments