지금까지 배워왔던 웹 코딩(서블릿/JSP만 이용한, 기초 ~ MVC모델 패턴까지)에서는, 요청에 대한 데이터를 JSP에 집어넣어, 브라우저에 HTML문서 형태로 보내주었다.(동기형식)
동기형식 : html
비동기형식 : text, xml, json
비동기통신의 대표적인 예로, 검색창을 클릭할 때 나오는 목록. 화면전체를 갱신하지 않는다.
json 형태로 데이터를 보내는 방법을 간단한 예제를 통해 기억해두자.
@GetMapping("/json1")
public ResponseEntity<String> m13() {
String msg = "{\"name\":\"임연지\", \"age\":25}"; //json
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json;charset=utf-8");
return new ResponseEntity<String>(msg, headers, HttpStatus.OK);
}
@GetMapping("/json2")
public @ResponseBody Human m14() { //*****파워풀, 라이브러리를 추가해야함(jackson-databind)
return new Human("세종대왕", 40);
}
ResponseEntity 객체의 3번째 파라미터가 비동기통신(Ajax)를 의미한다.
@ResponseBody 어노테이션은 1번 메소드를 아주 간략하게 줄여주는 파워풀한 라이브러리이다.
이 때, pom.xml에 추가해줘야할 라이브러리는 다음과 같다.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.4</version>
</dependency>
1일 3벨로그로 제한합니다