본문 바로가기

728x90
반응형

웹 프로그래밍/Swagger

(4)
[Swagger] OpenAPI 설정 이슈(Failed to load remote configuration / Failed to load API definition) 회사에서 API 문서를 좀 더 편하고 보기 좋게 만들기 위해 기존에 있던 프로젝트에 Swagger(또는 OpenAPI)를 추가하게 되었습니다. 지난번에 Swagger를 적용했던 경험이 있어 금방 Swagger 설정이 끝날 거라 생각했습니다. 기존에 Swagger를 적용했었던 Project들과는 구조와 설정, 사용 라이브러리 등이 많이 달랐기 때문이었던 건지 바로 설정이 되지 않았습니다. 사소한 것들로 며칠 간 삽질한 경험을 공유하겠습니다. 부디 저 같은 삽질은 안하시길,,,ㅎ ⚠️ 코드는 테스트 코드로 작성했습니다 ⚠️ project 구조 com ㄴ openapi ㄴ openapi3test ㄴ config ㄴ SwaggerConfig.java ㄴ WebSecurityConfig.java ㄴ WebMvcC..
[Swagger] Springfox Swagger vs SpringDoc Springfox Swagger vs SpringDoc Spring 기반의 API Docs를 가능하게 해주는 건 크게 Springfox Swagger와 SpringDoc이 있습니다. 그러나 최근 Spring에서 밀고 있는 건 SpringDoc입니다. Springfox Swagger를 잘 발전시킨 것이 SpringDoc이기 때문입니다. Springfox Swaggerrk 2018년까지 많이 사용되다 2018년 6월을 마지막으로 업데이트가 중지되었고 그 사이 2019년 7월에 springdoc이 나와 SpringDoc을 더 많이 사용하고 있습니다. 그러던 중 2020년 6월 Springfox가 새로운 버전을 만들어 현재는 두 개를 혼용해서 많이 사용하고 있지만, Spring에서 더 선호하는 것도 Spring..
[Swagger] Swagger 2.x VS OpenAPI 3.x Swagger OAS(Open Api Specification)를 위한 프레임워크 API 문서화를 쉽게 할 수 있도록 도와주며, 파라미터를 넣어서 실제로 어떤 응답이 오는지 테스트 할 수 있습니다. 협업 하는 클라이언트 개발자들에게도 Swagger만 전달해주면 API Path와 Request, Response 값 및 제약 등을 한번에 알려줄 수 있습니다. Swagger 2.x와 OpenAPI 3.x의 관계 SmartBear가 Swagger를 인수했을 때 Swagger 사양을 OpenAPI 2.0으로 이름을 변경했지만, OpenAPI 사양과 함께 동작하는 상용 및 오픈 소스 도구를 참조하기 위해 Swagger라는 이름을 유지했습니다. OpenAPI = 사양(Swagger 사양으로 알려진 사양 자체) Swa..
[Swagger] Failed to load API definition 문제 단일 모듈 환경에서의 Swagger UI 정상 동작 여부를 확인 후, 멀티 모듈로 변환 후 Swagger UI를 실행 했을 경우 아래와 같은 에러가 발생했습니다. Ambiguous handler methods mapped for '/v3/api-docs' 해결 JSON 형식의 OpenAPI의 문서 경로가 중복되어 발생하는 문제라고 판단하여 application.yml 에 아래와 같은 설정을 추가해주었습니다. springdoc: api-docs: path: /api-docs/network 해당 설정 추가 후 아래와 같이 Swagger UI가 정상적으로 보입니다. OpenAPI의 api-docs의 기본 URL이 /v3/api-docs 여서 발생한 에러였습니다.

728x90
반응형