cf) Spring Doc : Spring Boot 애플리케이션에서 Swagger(OpenAPI) 문서를 생성하는 데 사용되는 라이브러리
ex. @GetMapping(produces = text/html;charset=utf8 또는 text/json;charset=utf8)
기본은 text/pain;charset=utf8이다.
springdoc:
default-produces-media-type: application/json;charset=utf8
Authorize 버튼이 생기고 bearer방식의 로그인/로그아웃이 가능해진다.
: 하위의 모든 액션메서드를 OPEN API 문서상에서 API호출 할 때 bearerAuth 방식의 인증정보가 있다면 적용되도록 허용
Authorization 헤더 vs 쿠기 : 이중로그인을 했다면 Authorization 헤더로 로그인된다.
이는 Authorization 헤더를 우선적으로 로그인하는 로직을 구현했기때문이다.(Swagger의 규칙같은게 아니다)
접근
자바스크립트에 타입을 추가한것. 요즘 프론트엔드에서 타입스크립트를 많이 쓴다.
타입스크립트가 있으면 안정적인 개발이 가능하다.
자바스크립트에서 변수의 타입이 런타임에 결정되는 단점을 해결하고자 정적 타입을 선언해 사용하는 타입스크립트가 등장하게 되었다.
http://localhost:8080/v3/api-docs/apiV1 => apiV1.json으로 저장
apiV1.json => 타입스크립트로 변환
위 과정에서 nvm을 다운로드하면 node.js를 여러 버전으로 다운받아 상황에 맞게 사용할 수 있다. node.js가 있어야 타입스크립트로 변환할 수 있다.
nvm --version //NVM 설치 확인
nvm list //NVM 리스트 확인
nvm install [v22.13.0] //원하는 nvm 버전 확인
nvm use [v22.13.0] //해당 node 버전 활성화
node --v //현재 활성화된 버전 확인
npm config set legacy-peer-deps true # 이제 더 이상 --legacy-peer-deps 를 명시적으로 입력하지 않아도 된다.
npm config get legacy-peer-deps # 확인
npm install -g npm //npm 최신화
npx --package typescript --package openapi-typescript openapi-typescript apiV1.json -o schema.d.ts
