REST방식에서 가장 먼저 기억해야 하는 점은 서버에서 전송하는 것이 순수한 데이터라는 점이다.
@Controller 와 메서드 선언부에 @ResponseBody를 이용하여 동일한 결과를 만들 수 있다.
기존의 Controller에서 Model에 데이터를 담아서 View로 전달하는 방식이 아니므로 조금 다르게 동작한다.
@Controller는 View가 반환되고 @RestController는 객체를 xml또는 json형식으로 반환하는 차이가 있다.
@RestController
@RequestMapping("/sample")
@Log4j
public class SampleController {
@GetMapping(value = "/getSample",
produces = { MediaType.APPLICATION_JSON_UTF8_VALUE,
MediaType.APPLICATION_XML_VALUE })
public SampleVO getSample() {
return new SampleVO(112, "스타", "로드");
}
}
@RestController를 사용하면 이처럼 return문에 있는 데이터를 xml이나 json으로 전송한다.
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@GetMapping("/getSample")
public SampleVO getSample() {
return getSample;
}
}
@Controller는 이처럼 작성하면 getSample이라는 String 데이터를 반환하는것이 아니라
getSamplet.jsp 라는 view를 반환 시켜서 화면 전환을 시켜주는 것
'스프링' 카테고리의 다른 글
xml을 활용한 객체 주입 (0) | 2022.10.25 |
---|---|
(Spring)xml을 이용한 트랜젝션 사용 (0) | 2022.10.20 |
ResponseEntity란? (0) | 2022.10.18 |
intellij spring 프로젝트 생성 (0) | 2022.10.11 |
intellij 라이브러리 추가 (0) | 2022.10.10 |