본문 바로가기

spring

HTTP 응답 데이터

HTTP 응답 메세지는 주로 다음 내용을 담아서 전달한다.

- 단순 텍스트 응답 : writer.println("ok")

- HTML 응답

- HTTP API - MessageBody JSON 응답

 

HTML 응답 방법

// Content-Type : text/html; charset=utf-8;
        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");

        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("<div>안녕</div>");
        out.println("</body>");
        out.println("</html>");

위처럼 만들 수 있다. 물론 모두 java코드 이기때문에 동적으로 로직을 넣어서 만들 수 도 있다.


이번에는 JSON타입으로 데이터를 뿌려보자

 private ObjectMapper objectMapper = new ObjectMapper();
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //Content-Type:application
        response.setContentType("application/json");
        response.setCharacterEncoding("utf-8");

        HelloData data = new HelloData();
        data.setUsername("kim");
        data.setAge(20);

        String result = objectMapper.writeValueAsString(data);
        response.getWriter().write(result);
    }

전에 햇던것처럼 json을 사용하기 위해 파싱에 필요한 ObjectMapper를 만들었다.

아래 코드를 보게 되면 setContentType을 application/json으로 지정한 뒤 우리가 만든 HelloData라는 틀에 값을 지정하고 ObjectMapper에 data를 json형식으로 넣은뒤 출력한 모습이다.

[결과]

더보기
{"username":"kim","age":20}

 

'spring' 카테고리의 다른 글

MVC 적용하기  (0) 2023.03.08
MVC 개요  (0) 2023.03.05
HttpServletResponse 기본 사용법  (0) 2023.03.05
API Message Body 데이터 요청  (0) 2023.03.05
POST HTML Form 데이터 요청  (1) 2023.03.05