반응형
# 배경
2년 전에 자바는 API문서를 자동화로 만들어 주는게 있는데 go는 있냐는 말에 열심히 찾았다. 그 때 정보가 지금처럼 많지 않았다.
그래도 만드는 법을 알게 되었다. 하지만 회사 서비스에 적용시키기엔 우선순위가 낮았다.
2년이 지난 지금 스웨거를 적용시키게 되었다.
기본적인 것을 잘되지만 하다보면 예외들도 많았다. 내가 찾아본 것들을 기록해보자!
# 하는 방법
1) 우선 echo-swagger 설치하자
go get -u github.com/swaggo/echo-swagger
2) import에 2개의 주소를 추가하자
echoSwagger "github.com/swaggo/echo-swagger"
_ "study-service/docs"
_ "study-service/docs" 이걸 넣지 않으면 에러가 발생한다.
2023.08.31 - [Study/Error] - [Error] 스웨거(Swagger)로 문서를 만들다가 나타난 에러 해결책
3) 접속할 라우터를 정하자
나는 메인에 라우터를 넣었다.
e := echo.New()
e.GET("/swagger/*", echoSwagger.WrapHandler)
e.Start(":" + config.Config.HttpPort)
4) Controller에 함수위에 주석으로 형식에 맞게 작성하면 된다.
// Create
// @Tags 회원
// @Summary 멤버 등록
// @Description 함수에 대한 상세 내용 쓰기
// @Success 201 {object} nil
// @Router /api/member [post]
예를 들으면 주석으로 다 작성할 수 있다. 나는 우선 기본적인 것만 적었다. 다양한 것들이 있다.
5) 수정하고 나면 run를 한다.
swag init
실행이 main이면 가능하다.
우리는 application.go에서 시작한다. 그래서
swag init -g application.go
이렇게 실행하면 된다.
6) 주소에 접속을 한다.
http://localhost:7000/swagger/index.html
# 참고
https://github.com/swaggo/echo-swagger#start-using-it
# 참고 이슈
https://github.com/YooGenie/study-service/issues/42
반응형
'Study > Go 언어' 카테고리의 다른 글
[Golang] 만 나이 구하는 코드 (0) | 2023.09.12 |
---|---|
[Golang] 14세 미만 체크하는 코드 (0) | 2023.09.11 |
[Golang] Xorm에 AllCols() 이걸 사용할 때 bool 타입은 업데이트가 안된다. (0) | 2023.08.02 |
[Golang] interface{} => struct 변환하기 (0) | 2023.07.22 |
[Golang] 슬랙(Slack)으로 메시지 보내기 (0) | 2023.07.14 |