REST
REST는 "Representational State Transfer"의 약자이다.
기존엔 url에 파라미터를 붙여서 정보를 get이나 포스트 방식으로 처리해왔다.
REST는 그 대신 url 자체가 어떤 자원인지 1:1로 매칭해 나타내도록
설계하는 개념이다.
컴퓨터용 웹 브라우저 하나만을 고려한 서버 방식에서
이제 스마트폰, 태블릿 등의 하드웨어와도 호환될 수 있는
새로운 방식의 서버 개념이 필요했고
그것이 바로 REST인 것이다.
서버에서 모든 기기로 통용될 수 있는 자료들을 내어주는 REST 방식의 서버는
정말 중요한 웹 개발의 흐름이다.
연습용 프로젝트 만들기
먼저 prj_rest라는 이름으로 스프링 레거시 프로젝트를 생성하고 MVN에 필요한 것들 저장해주고
자바, ojdbc, 마이바티스 이것저것 다 설정해주었습니다.
@RestController 어노테이션은 일반 컨트롤러와 다르게
이 컨트롤러가 rest방식으로 작동할 것이라는 선언을 하는
어노테이션입니다.
이제 서버는 .jsp파일을 필요로 하지 않으며
단순히 결과는 문자열, xml문서, json문서만을 화면에 표시하게 됩니다.
위 sayHello 메서드는 String 리턴 메서드입니다.
일반적인 스프링 MVC 서버에서는 String 리턴 시에 그에 맞는
url 주소를 연결해주었지만
REST 방식에서는 String 리턴 시에 그 문자를 화면에 표출해줄 뿐이라는 것을
확인할 수 있었습니다.
그리고
RestController에서 객체는 전부 json으로 변환됩니다.
위와 같은 테스트용 VO를 생성해서 확인해보기로 합시다.
생성된 VO를 활용하여 json의 나이와 번호를 전달하는 메서드를
testcontroller 내부에 작성했습니다.
바로 localhost8181/test/sendVO로 톰캣을 실행해봅니다.
접속 시 에러가 납니다. json 타입을 반환하긴 하지만
변환하는 기능이 작동하고 있지 않아서 그렇습니다.
mvnrepository에서 Jackson Databind와 Jackson Dataformat XML을 검색해
pom.xml에 라이브러리를 새로 추가해주면 됩니다.
jackson-databind를 추가해 json 데이터를 표출할 수 있게 처리했다면
다시 서버를 구동해주시고 해당 주소에 접속합니다.
그러면 위와 같이 xml 형식으로 데이터가 화면에 출력됩니다.
이런 식으로 url에 .json을 더하면
json 방식으로 데이터가 화면에 출력됩니다.
일단은 여기까지 입니다.