Echo에서 HTTP 응답 반환
1. 개요
Dabory의 Go 언어에서는 Echo 프레임워크로 프론트엔드 단에 응답데이터로 Json 데이터를 넘겨줘야 하기때문에 c.String()
과 c.JSONBlob()
을 사용하여 HTTP 응답을 Json으로 처리하는 방법을 설명한다.
2. c.String(statusCode int, response string)
사용법
✅ 개요
c.String()
은 단순 문자열 응답을 반환하는 함수이다.statusCode
는 HTTP 상태 코드이며,response
는 프론트엔드로 보낼 응답 본문이다.
✅ 사용 예제
✅ 동작 방식
607
이라는 커스텀 HTTP 상태 코드를 응답으로 보낸다.- 응답 본문은
""
(빈 문자열)이다. - 프론트엔드에서
response.status
값이607
인지 확인 가능.
3. c.JSONBlob(statusCode int, jsonData []byte)
사용법
✅ 개요
c.JSONBlob()
은 JSON 형식의 응답을 반환하는 함수이다.statusCode
는 HTTP 상태 코드이며,jsonData
는 이미 변환된 JSON 데이터([]byte
)이다.
✅ 사용 예제
✅ 동작 방식
json.Marshal(vRet)
을 사용하여ZbaksanSorderEyetestRes
구조체를 JSON 데이터로 변환한다.- 변환된 JSON을
c.JSONBlob(http.StatusOK, ret)
을 통해 프론트엔드로 전송한다. - 프론트엔드는
response.json()
또는response.data
로 JSON을 받을 수 있다.
4. c.String()
vs c.JSONBlob()
비교
기능 | c.String() |
c.JSONBlob() |
---|---|---|
응답 형식 | 문자열(String) | JSON (바이트 배열) |
사용 목적 | 단순 메시지, 상태 코드 반환 | JSON 데이터 응답 |
예제 코드 | c.String(607, "") |
c.JSONBlob(http.StatusOK, ret) |
프론트에서 처리 | response.text() |
response.json() 또는 response.data |
5. 요약
✅ c.String(607, "")
- HTTP 상태 코드
607
을 반환하여 프론트엔드에서 감지 가능. - 프론트엔드에서
response.status
값으로 확인 후 특정 로직 실행.
✅ c.JSONBlob(http.StatusOK, ret)
- JSON 데이터를 반환할 때 사용.
json.Marshal()
을 통해 JSON 변환 후 프론트엔드에서response.json()
으로 처리.