Spring REST _ REST 방식 서버의 개념

dwanGim·2022년 6월 14일
0

spring_basic

목록 보기
9/41
post-thumbnail

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 방식으로 데이터가 화면에 출력됩니다.

일단은 여기까지 입니다.

profile
배울 게 참 많네요.

0개의 댓글