Golang 썸네일형 리스트형 Golang Gin-gonic에서의 request 파싱 Validation에 대해서 회사에서 Gin을 쓰다가 struct 단에서의 Validation을 하려는데 gin context에서 binding을 할 때 쓰는 거에 따라서 결과가 달라서 정리를 해본다. 보통 body로 들어오는 요청을 처리하는 struct는 아래와 같이 구성한다. type Bind struct { Name string `json:"name"` } 여기서 만약 해당 struct로 body 값을 파싱하려면 아래와 같이 할 수 있다. r.POST("/", func(c *gin.Context) { req := &Bind{} err := c.Bind(req) if err != nil { c.JSON(http.StatusBadRequest, err.Error()) return } c.Status(http.StatusOK) }).. 더보기 Golang 빈 Array Json으로 output 시 null(nil)이 되는 현상 Golang으로 API를 개발하다가 GetList API에서 리스트가 존재하지 않을 경우 null로 return이 되는 현상이 있었다. 일단 걍 신경쓰지 않고 개발하다가 프론트와 연동 시 프론트에서 Array 형태로 올 때도 있고 null로 올 경우에는 또 따로 핸들링 해줘야 해서 번거로웠다. 아무래도 정상적인 API라면 빈 Array라면 null로 주는게 아니고 [] 로 주는 형태가 맞을거 같아서 찾아보다가 문제를 발견했다. 기존 flow는 var itemList []Item for _, item := range targetItemList { // blah blah } 이렇게 했었는데 itemList가 값을 넣기 전에는 실제 메모리 상에 할당되지 않고 points가 nil로 되어서 json으로 할 시 .. 더보기 이전 1 다음