개발의변화
AI인터뷰생성기 기록 - 0411 본문
오늘은 Swagger를 설정하려고 했다...
당연히 구글링을 통해 블로그를 보니 properties와 build.gradle을 바꾸고 SwaggerConfiguration (필요도 없었지만) 코드를 복붙하면 쉽게 된다하길래 그대로 했더니 해당 swagger에 대한 import가 되지 않았다.
그래서 이제 삽질은 더 깊게 들어가면서 찾아보니 SpringBoot 3.0이상 부터는 SpringFox가 Swagger를 제대로 지원하지 않는다는 것을 깨달았다. (??)
그래서 다시
bulid.gradle에 springdoc을 추가해주고 실행을 하니 /swagger/index.html이 500에러가 떴다.
뭐지....?
한 30분 찾아보다가 생각해보니 build.gradle을 작성하고 다시 rebuild를 안했던 것이다.
(ㅋㅋㅋㅋㅋㅋㅋ)
rebuild 후에 /swagger/index.html에 들어가면서 이제 되었구나 싶었지만
.....
403 forbidden 에러가 떴다.
음... 시큐리티 url 설정해줘야 할 느낌이라서
requestMatchers에 "/swagger-ui/**" 를 추가해주었다.
이제 되었구나...?
하고 들어가보니
???
url이 왜 이러지???
찾아보니 진행하고 있는 프로젝트는 단일 엔드포인트를 제공하려고 Nginx가 Reverse Proxy로 구성되어 있었다.
결국 nginx에서 프로그래머가 특정/path으로 인입되면 localhost:특정포트로 이동되어 있지만
지정된 특정path가 아니면 특정포트의 url로 이동하지 못한 것이었다.
로컬이나 서버 도메인으로 접속할 때는 정상 호출되지만 API Gateway를 통해 접속할 때 API path prefix가 변경될 때 이슈를 막기 위해
해당 url도 추가해주었다.
"/swagger-ui/**", "/api/v1/members/signin/password", "/api/v1/members/signup"
).permitAll()
이제 swagger을 시작할 수 있게 되었다.