cloud-barista / cm-data-mold

Apache License 2.0
2 stars 1 forks source link

Improvements to provide REST API and documentation #36

Open yunkon-kim opened 10 months ago

yunkon-kim commented 10 months ago

What is being discussed:

yunkon-kim commented 10 months ago

그리고, Request/response body를 구조체로 만들어야할 필요가 있습니다. 만들어진 구조체로 기존 map[string]interface{} 형태의 리턴을 대체하려고 합니다.

또한, 만들어진 구조체는 별도의 models package로 묶으면 좋을 것 같습니다.

아래 예시를 참고하시기 바랍니다.

(As-Is)

return ctx.JSON(http.StatusBadRequest, map[string]interface{}{
    "Result": logstrings.String(),
    "Error":  nil,
}

(To-Be)

type BasicReponse struct{
    Result string `"json:"Result"`
    Error *string `"json:"Error"`
}
return ctx.JSON(http.StatusBadRequest, models.BasicReponse{
    Result: logstrings.String(),
    Error:  nil,
}

Note - nil 리턴 여부에 따라 멤버 데이터 타입이 달라 질 수 있고, json naming convention을 전체적으로 맞출 필요가 있어보입니다.