반응형
◆ 웹 API 미들웨어
▶ 클라이언트의 요청을 처리하기 전 후에 호출되서 작업을 수행하는 코드
▶ Gin 웹 서버에서는 2개의 미들웨어를 제공: https://github.com/gin-gonic/contrib
● Logger 미들웨어: 로그를 기록하기 위한 미들웨어
● Recovery 미들웨어: 500번 에러가 발생하면 HTTP 에러 코드로 응답하는 미들웨어
▶ 커스텀 미들웨어
●호출될 함수 생성
func MyCustomMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
// 요청을 처리하기 전에 실행할 코드
// 예제 변수 설정
c.Set("v", "123")
// c.Get(V)를 호출하면 변수 값을 확인할 수 있다.
// 요청 처리 로직 실행
c.Next()
// 이 코드는 핸들러 실행이 끝나면 실행된다.
// 응답 코드 확인
status := c.Writer.Status() // status를 활용하는 코드 추가
}
}
● 호출될 함수 설정
// gin 기본 엔진
r := gin.Default()
r.Use(MyCustomLogger())
▶ rest.go 파일 수정
import (
"fmt"
"github.com/gin-gonic/gin"
)
func MyCustomLogger() gin.HandlerFunc {
return func(c *gin.Context) {
fmt.Println("*******************************")
c.Next()
fmt.Println("*******************************")
}
}
func RunAPI(address string) error {
//Get gin's default engine
r := gin.Default()
r.Use(MyCustomLogger())
//Define a handler
h, _ := NewHandler()
반응형
'IT 초보코딩의 세계 > Go 언어' 카테고리의 다른 글
Go 언어 Back End 제작해보기(데이터베이스) 5장 (1) | 2023.05.25 |
---|---|
Go 언어 Back End 제작해보기(보안) 4장 (8) | 2023.05.24 |
Go 언어 Back End 제작해보기(라우팅 설정) 2장 (10) | 2023.05.22 |
Go 언어 Back End 제작해보기(Restful API,Gin Framework, Model & Database Layer) 1장 (8) | 2023.05.18 |
Go 언어 Front End 제작해보기(서비스 등록 페이지, 컴포넌트 등록 ) 6장 (14) | 2023.05.17 |
댓글