# 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`)이다. ### ✅ 사용 예제 ### ✅ 동작 방식 1. `json.Marshal(vRet)`을 사용하여 `ZbaksanSorderEyetestRes` 구조체를 JSON 데이터로 변환한다. 2. 변환된 JSON을 `c.JSONBlob(http.StatusOK, ret)`을 통해 프론트엔드로 전송한다. 3. **프론트엔드는 `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` |