반응형
기존의 Controller에서는 Model에 데이터를 담아 JSP 와 같은 view로 전달하는 방식이였다면,
REST 방식의 데이터 처리를 위한 @RestController 어노테이션은 Controller의 모든 메서드의 리턴 타입을 기존과 다르게 처리
@RestController를 이용해 메서드의 리턴 타입으로 사용자가 정의한 클래스 타입을 사용할 수 있으며,
이를 JSON이나 XML로 처리 → JSP와 달리 순수한 데이터를 반환
pom.xml에 JSON 혹은 XML로 데이터를 처리하기 위한 라이브러리 추가
Jackson Databind
브라우저에 객체를 JSON이라는 포맷의 문자열로 변환시켜 전송
JSON(JavaScript Object Notation)
구조를 가진 데이터를 {}, 중괄호로 묶고 '키' 와 '값'으로 구성하는 경량의 데이터 포맷
Jackson Dataformat XML
다른 라이브러리 추가
2021.09.10 - [Spring] - [Spring] Maven repository 외부 라이브러리 추가
[Spring] Maven repository 외부 라이브러리 추가
Spring TestContext Framework JUnit을 이용해 전체 프로젝트를 구동하지 않고 단위 테스트 진행 시 더 쉽게 할 수 있도록 지원(JUnit 확장) @Test JUnit의 테스트 지원 어노테이션으로, 각각의 테스트가 서로
wheneveryouwantsz.tistory.com
TestVO 객체 생성
public class TestVO{
private Integer mno;
private String name;
private Integer age;
}
TestController
문자열 반환
@RestController
@RequestMapping("/test")
public class TestContoller{
@RequestMapping("/hello")
public String sayHello(){
return "Hello Hello";
}
}
매핑된 경로로 들어가면 메서드의 리턴 타입으로 반환된 문자열을 확인할 수 있음
객체 반환
@RestController
@RequestMapping("/test")
public class TestContoller{
@RequestMapping("/sendVO")
// TestVO를 리턴하는 메서드 작성
public TestVO sendTestVO(){
TestVO testVO = new TestVO();
testVO.setMno(1);
testVO.setName("jane");
testVO.setAge(28);
return testVO;
}
}
JSON 타입의 데이터를 반환
컬렉션 타입 반환
여러 데이터를 한번에 전달하기 위한 리스트 객체를 전송
@RestController
@RequestMapping("/test")
public class TestContoller{
@RequestMapping("/sendVO")
// List<TestVO>를 리턴하는 메서드 작성
public TestVO sendTestList(){
List<TestVO> list = new ArrayList<>();
// 1부터 10까지의 반복문을 처리하면서 TestVO를 만들고 List<TestVO>가 생성됨
for(int i = 0; i < 10; i++){
TestVO testVO = new TestVO();
testVO.setMno(i);
testVO.setName(i + "jane");
testVO.setAge(10 + i);
list.add(testVO);
}
return list;
}
}
대괄호로 묶인 TestVO 객체의 리스트가 반환된 것을 확인 가능
'Spring' 카테고리의 다른 글
[Spring] 크롬 확장 프로그램으로 REST 방식 테스트(Tomcat) (0) | 2021.10.03 |
---|---|
[Spring] REST API 방식 (CRUD) (0) | 2021.10.02 |
[Spring] REST(Representational State Transfer) API (0) | 2021.09.30 |
[Spring] select 태그를 이용해 데이터 삽입시 텍스트 대치 (0) | 2021.09.29 |
[Spring] PostMapping 일 때 파라미터 전달 (0) | 2021.09.28 |