@RestController는 무엇일까?
: @Controller + @ResponseBody가 결합!
: 메서드에 @ResponseBody 어노테이션을 붙이지 않아도 문자열과 JSON을 전송할 수 있음!!
@RestController를 사용하려면!
: spring version을 확인해본다.
이 어노테이션은 Spring 4.x부터 사용 가능하기 때문이다!!
1. Jackson-databind meaven 검색하기
2. 버전 선택하기
3. pome.xml에 추가 한 후에 meaven_update를 진행하기
4. Controller작성하고 실행
package kr.kopo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/sample")
public class SampleController {
@GetMapping(value="/getText", produces="text/plain; charest=utf-8")
public String getText() {
return "안녕하세요";
}
}
5. damain packagae에 SampleVO Class를 만든다.
package kr.kopo.domain;
public class SampleVO {
private Integer mno;
private String firstname;
public SampleVO() {
super();
}
public SampleVO(Integer mno, String firstname, String lastName) {
super();
this.mno = mno;
this.firstname = firstname;
this.lastName = lastName;
}
private String lastName;
public Integer getMno() {
return mno;
}
public void setMno(Integer mno) {
this.mno =mno;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
6. Controller에 getSample url 경로를 만들어본다.
package kr.kopo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import kr.kopo.domain.SampleVO;
@RestController
@RequestMapping("/sample")
public class SampleController {
@GetMapping(value="/getText", produces="text/plain; charest=utf-8")
public String getText() {
return "안녕하세요";
}
@GetMapping(value="/getSample")
public SampleVO getSample() {
return new SampleVO(112, "star", "burn");
}
}