RestFul API 서버는 응답결과를 데이터만으로 구성하여 클라이언트로 전달하는 서버를 의미한다.
RestFul API 서버는 웹, 모바일 등 다양한 플랫폼으로 데이터를 전달할 때 사용한다.
스프링에서는
@RestController 를 통해서 구현한다.
@RestController를 사용하면 return하는 그값 자체를
브라우저로 전달하는 응답결과로 생성하여 보내게 된다.
RestController를 잘 사용하기 위해서는
pom.xml에
jackson을 검색해서 받아준 후 사용하자.
만약
@RestController에
@GetMapping("/test2")
public String test2() {
return "test2";
}
이렇게 한다면 화면에는 return 값인
test2 만 출력되게 될 것이다.
(이건 test2.jsp 이런 파일이 없어도 걍 아무것도 없어도 알아서 출력이 된다)
바로 이렇게 말이다. (test2.jsp 없다)
그럼 이제 객체를 만들고 제대로 RestfulAPI를 활용해보자.
먼저 DataBean객체를 만들어주자.
public class DataBean {
private String data1;
private int date2;
private double data3;
private boolean data4;
public DataBean(String data1, int date2, double data3, boolean data4) {
this.data1 = data1;
this.date2 = date2;
this.data3 = data3;
this.data4 = data4;
}
public String getData1() {
return data1;
}
public void setData1(String data1) {
this.data1 = data1;
}
public int getDate2() {
return date2;
}
public void setDate2(int date2) {
this.date2 = date2;
}
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;
}
}
그 이후에 @RestController에서 이 객체를 사용하자.
@RestController
public class RestTestController {
@GetMapping("/test2")
public ResponseEntity<ArrayList<DataBean>> test2() {
//바로위 리턴의 형태를 잘 맞춰주도록 하자
DataBean bean1 = new DataBean("문자열1", 100, 11.11, false);
DataBean bean2 = new DataBean("문자열2", 200, 22.22, true);
DataBean bean3 = new DataBean("문자열3", 300, 33.33, false);
ArrayList<DataBean> list = new ArrayList<DataBean>();
list.add(bean1);
list.add(bean2);
list.add(bean3);
//json객체로 만들기 위한 코드
ResponseEntity<ArrayList<DataBean>> entry =
new ResponseEntity<ArrayList<DataBean>>(list, HttpStatus.OK);
//브라우저에게 보낼 응답결과가 정상적인 데이터라고 알려주는것이 HttpStatus.OK이다.
//json데이터를 구성할 객체를 파라미터의 ,앞부분인 (여기서는 list)에 넣어주면 된다.
return entry;
}
}
마지막의 ResponseEntity는 json객체로 만들기 위한 코드이다.
이렇게 사용한다면
출력시에
이렇게 나오게 된다.
(이것도 test2.jsp없음 그냥 바로 json으로 만들어진 페이지가 출력된다)
spring의 RestController
RestFul API는 값을 바로 전달하거나
json의 형태로 전달할 때 많이 사용한다.
특히 현재 많이 애용되고 있는 방식이라고 하니
잘 알아두도록 하자.
스프링 <c:url> 예제 (<c:set>) (0) | 2022.02.20 |
---|---|
스프링 @Bean과 @Component (0) | 2022.02.20 |
Spring JDBC MyBatis 설정법 (0) | 2022.02.12 |
스프링 예외처리 @ExceptionHandler, @ControllerAdvice 예제 (0) | 2022.02.07 |
스프링 Interceptor (0) | 2022.02.06 |
댓글 영역