728x90
반응형
728x170

지난 번에 Golang reflect 함수 사용하여 필수 값 체크 함수 만들기. 를 통해서 JSON 필수값을 reflect함수로 찾는 방법을 포스팅 한 적이 있습니다.

 

저기서는 for문 2개를 돌려서 찾는 방법이였지만 이번엔 validator을 사용하여 심플하게 처리할 수 있는 방법을 소개시켜드리려 합니다.

 

먼저 패키지를 다운 받아야 합니다.

go get github.com/go-playground/validator/v10

그 후 아래와 같이 구조체를 선언 후, 필수 값으로 지정할 값을 아래와 같이 지정해줍니다.

 

type ExStruct struct {
	A      string         `json:"a" validate:"required"`
	B      string         `json:"b" validate:"required"`
	C      string         `json:"c" validate:"required"`
}

 

그 후 체크해주어야 하는 곳에

func check() {
   validate := validator.New()
   
   err = validate.Struct(ExStruct)
   
   if err != nil {
       fmt.Println("ERROR!!!", err)
   }
}

위와 같이 해주시면 됩니다.

err에서 지정한 필수 값이 빈 값인 부분만 출력해주게 되어 따로 로그 남기실 때 err값을 넣어주시면 됩니다.

 

이렇게 하면 reflect 함수 때보다 훨씬 심플하게 처리 할 수 있게 되었습니다.

728x90
반응형
그리드형
Bami