[Spring Boot]10.REST Full API사용하기

※REST Full(REpresentational State Transfer)

  •  잘 표현된 HTTP URI로 리소스를 정의하고 HTTP메서드로 리소스에 대한 행위를 정의합니다. 리소스는 JSON,XML과 같은 여러가지 언어로 표현할 수 있습니다.

> 표현규칙

  1. URI는 명사를 사용해야한다. (예) DELETE /members/1)

  2. 슬래시(/)로 계층 관계를 나타낸다.(예) GET /dogs/jindo)

  3. URI의 마지막에는 슬래시를 사용하지 않는다.

  4. URI는 소문자로만 작성한다.

  5. 가독성을 높이기 위해 하이픈(-)을 사용할 수는 있지만 밑줄(_)은 사용하지 않는다.

> 컨트롤러 규칙

 - 위와 같이 일반적으로 쓰는 Spring URI는 insert나update를 명시하지만 REST API를 쓰게 되면 짧아지게되면서 쓰이게 된다.

 

>기존에는 주소만 입력을 했지만RESTFul을 쓰게 되면 주소와 요청방법, 이 두가지 속성은 꼭 지정해야한다.

 - 기존

 - RESTful API적용

> 아래와 같이 요청방법은 여러가지로 되어있어서 선택해 주면 된다.

 

> html에서 이동 및 수정/저장/삭제시 아래와 같이 form에 method설정을 해주면된다.

  • html은 post,get만 지원이 되기때문에 put,delete와 같은 기능을 사용하기 위해서는 HiddenHttpMethodFilter를 사용해야한다.(HiddenHttpMethodFilter는 스프링2.1x이상 부터 적용되어있음)

  •  수정,삭제 부분은 <input type="hidden" id="method" name="_method"/>에 value값으로 지정을 해줘야한다.(해당 input값에 put값으로 지정해 주면 RequestMethod.PUT의 이름을 값을 가진 URI를 호출한다.)

 

 

> 아래와 같이 REST API를 적용하려면 아래와 같이 @RestController를 사용하여 응답값만 받게끔 해준다.

위와 같이 한 다음 포스트맨을 이용해 JSON형식으로 reuest,respon해 주는지 테스트해주면 된다.

댓글을 작성해보세요.

채널톡 아이콘