Spring MVC - RestController
2020. 9. 26. 20:30ㆍJava/Spring
반응형
Spring 에서 데이터를 전달시 효율적인 전달을 위해서 Restful API를 사용해 데이터를 json 형태로 전송한다.
먼저 데이터를 json 형태로 변경하기 위해서 아래 jackson databind를 설치해야한다.
mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.11.2
먼저 아래와 같이 controller에 @RestController를 사용하면 해당 컨트롤러는 jsp 파일이 아닌 return에 있는 문자를 리턴한다.
@RestController
public class sampleController {
@GetMapping("/test1")
public String test1() {
return "test1";
}
}
다음과 같이 test1 문자열이 리턴된다.
이를 통해서 json 데이터를 리턴한다.
시험을 위해 아래와 같이 값을 주입 가능한 DataBean을 만든다.
public class DataBean {
private String data1;
private int data2;
private double data3;
private boolean data4;
public DataBean(String data1,int data2,double data3,boolean data4) {
this.data1 = data1;
this.data2 = data2;
this.data3 = data3;
this.data4 = data4;
}
public String getData1() {
return data1;
}
public void setData1(String data1) {
this.data1 = data1;
}
public int getData2() {
return data2;
}
public void setData2(int data2) {
this.data2 = data2;
}
public double getData3() {
return data3;
}
public void setData3(double data3) {
this.data3 = data3;
}
public boolean isData4() {
return data4;
}
public void setData4(boolean data4) {
this.data4 = data4;
}
}
그 다음 controller를 아래와 같이 수정한다.
@RestController
public class sampleController {
@GetMapping("/test1")
public ResponseEntity<ArrayList<DataBean>> test1() {
DataBean bean = new DataBean("데이터1",100,10.00,false);
DataBean bean2 = new DataBean("데이터2",200,20.00,true);
DataBean bean3= new DataBean("데이터3",300,30.00,false);
DataBean bean4 = new DataBean("데이터4",400,40.00,true);
ArrayList<DataBean> list = new ArrayList<DataBean>();
list.add(bean);
list.add(bean2);
list.add(bean3);
list.add(bean4);
ResponseEntity<ArrayList<DataBean>> entry = new ResponseEntity<ArrayList<DataBean>>(list,HttpStatus.OK);
return entry;
}
}
데이터를 arrayList에 담고, 그 정보를 가지고 ResponseEntity 가 json으로 만들어준다.
그 후 해당 json이 담긴 entry를 리턴한다.
위와 같이 데이터가 json으로 리턴되는 것을 볼 수 있다.
반응형
'Java > Spring' 카테고리의 다른 글
Spring - 네이버 아이디로 로그인, 회원가입 만들기- 1 (0) | 2021.04.28 |
---|---|
Spring - hikari cp 세팅하기 (0) | 2021.02.19 |
Spring MVC - 페이지 예외처리 (0) | 2020.09.22 |
Spring MVC - Interceptor (0) | 2020.09.21 |
Spring MVC - Validator 커스터마이징 (0) | 2020.09.20 |