728x90
반응형

REST는 'Representational State Transfer'의 약어로 하나의 URI는 하나의 고유한 리소스(Resource)를 대표하도록 설계된다는 개념입니다.

최근 서버에 접근하는 기기의 종류가 다양해 지면서 다양한 기기에 공통으로 데이터를 처리할 수 이쓴 규칙을 만드는 것이 REST방식입니다.

REST API 설계 시 중요한 점

1. URI는 정보의 자원을 표현해야 합니다.

2. 자원에 대한 방식은 HTTP Method(GET, POST, PUT, DELETE)로 표현합니다.


스프링은 3버전부터 @ResponseBody 어노테이션을 지원하며 REST방식의 처리를 지원했고

@ResponseBody 어노테이션은 메소드나 리턴 타입에 사용할 수 있는 어노테이션으로 자동화된 처리 방식입니다.

최근 4버전 부터는 @RestController 어노테이션이 사용가능해졌습니다.

@RestController 어노테이션의 경우 기존의 특정한 JSP와 같은 뷰를 만들어 내는 것이 아닌 REST 방식의 데이터 처리(데이터 자체를 반환)를 위해 사용하는 어노테이션입니다. 문자열 데이터는 브라우저에서 'text/html' 타입으로 처리됩니다.


<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.8.4</version>

</dependency>    


스프링에서 jackson-databind 라이브러리를 pom.xml에 추가해줘야 합니다. jackson-databind 라이브러리는 객체를 JSON 타입의 데이터로 변환하거나, 반대의 작업을 할 때 사용합니다. JSON을 사용해야 하는 프로젝트에 반드시 필요한 라이브러리입니다.


REST 방식은 다양한 디바이스(Android나 iPhone과 같은 모바일 환경에서 서버의 데이터, HTML5, Ajax 등을 사용하는 경우)로부터 서버에 데이터와 작업을 요청하고, 결과를 받는다는 점에서 유용하지만, 일반적인 웹 페이지와는 달리 화면을 제작하지 않는 형태로 처리되기 때문에, 결과를 체크하면서 개발하기에는 적합하지 않습니다.


하지만 좀 더 쉽게 결과를 테스트 할 수 있도록 REST 클라이언트 프로그램이 존재합니다

Chrome 브라우저의 앱으로 존재하는 Advanced REST Client입니다. 

먼저 크롬에 Advanced REST Client 키워드를 검새합니다.


저는 이미 설치가 되어있는데요. 설치가 되지 않은 분들은 아래 빨간 화면에 앱 추가 버튼을 눌러주세요!





설치가 되었다면 아래와 같이 ARC 프로그램이 웹 스토어에 등록됩니다.



사용하는 방법은 RequestURL에 URL을 입력하고 전송 방식을 선택하면 됩니다.  전송 방식에 따라 추가적인 데이터를 입력할 수 있습니다.

SEND버튼을 누르면 아래와 같은 화면이 보여집니다.




728x90
반응형

+ Recent posts