package hello.servlet.Basic.response;
import com.fasterxml.jackson.databind.ObjectMapper;
import hello.servlet.Basic.HelloData;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name="responseJsonServlet", urlPatterns = "/response-json")
public class ResponseJsonServlet extends HttpServlet {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//content-type : application/json
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
HelloData helloData = new HelloData();
helloData.setUsername("lee");
helloData.setAge(26);
String result = objectMapper.writeValueAsString(helloData);
response.getWriter().write(result);
}
}
HTTP 응답으로 JSON을 반환할 때는 content-type을 applictaion/json으로 지정해야 한다.
Jackson 라이브러리가 제공하는 objectMapper.wirteValueAsString()을 사용하면 객체를 Json문자로 변경할 수 있다.

Json타입으로 응답한 것을 확인 할 수 있었다.
'웹프로그래밍 > 스프링 MVC' 카테고리의 다른 글
| 19. 서블릿으로 회원 관리 웹 어플리케이션 만들기 (0) | 2022.03.17 |
|---|---|
| 18. 회원 관리 웹 애플리케이션 요구사항 (0) | 2022.03.17 |
| 16. HTTP 응답 데이터 - 단순 텍스트, HTML (0) | 2022.03.16 |
| 15. HttpServletResponse - 기본 사용법 (0) | 2022.03.16 |
| 14. HTTP 요청 데이터 - API 메시지 바디 - JSON (0) | 2022.03.16 |