Go에서 Open API 2.0 문서를 만들 때, 순서가 서로 상반된 두 가지 방법이 있다.


1. Open API 스펙 작성 -> go 소스코드 생성

  - https://editor.swagger.io -> generate server 기능을 이용하거나 go-swagger 의 생성 기능 사용


2. go 소스코드 작성 + 함수 위에 Swagger 사양 주석(아노테이션?) 추가, 구조체 정의 tag에 swagger 설명 추가 -> Open API 스펙 생성

  - swaggo 사용



OpenAPI 정의하는 문법이 적응이 안되니 위의 두 방법 모두 눈에 쇽쇽 들어오지 않는다.



1번 방법을 쓰면 gorilla-mux와 Go를 사용한 보통의 REST API 폴더 구조로 코드를 생성해주는데,


나는 고릴라 말고 echo랑 gin을 주로 쓰고 있고,


폴더 구조도 모델, 컨트롤러 같은 거 없이 주로 다루려는 대상 단위로 묶어서 구성하다보니 나와는 사대가 안맞다.



그래서, 앞으로 Open API 쓸 일이 있으면 2번 방법으로 하기로 함.




묶어서 굴리려면 목업을 진짜로 넣어서 통으로 돌리면 되고,


따로 굴리려면 깡통인 채로 냅두거나 라우팅을 빼버리고, 아노테이션에 접근 경로만 제대로 넣어주면 될 것 같다.


https://github.com/practice-golang/hello-swagger


끝.