-
2.2.3 REST API || 2.2.4 컨트롤러 레이어Spring/웹 개발 101 2022. 4. 7. 00:10반응형
REST는 'Representational State Transfer' 의 약자로 아키텍쳐 스타일을 뜻합니다.
* 아키텍쳐 스타일 : 아키텍쳐 디자인 *아키텍쳐 패턴 : 반복되는 문제 상황을 해결하는 도구
REST 제약조건
- 클라이언트-서버
- 상태가 없는
- 캐시되는 데이터
- 일관적인 인터페이스
- 레이어 시스템
- 코드-온-디맨드
*리소스란 REST API가 리턴할 수 있는 모든 것을 의미합니다. EX ) HTML , JSON, IMAGE
HTTP는 get/post/put/delete/options 등과 같은 메서드와 URI를 이용해 서버에 HTTP 요청을 보낼 수 있다.
GET /test HTTP/1.1 Host: localhost:8080 Content-Type: application/json Content_Length: 17 { "id":123 }
=> 위 코드는 http GET 메서드를 이용해 test라는 리소스를 요청한다는 뜻입니다.
1. 자기주소를 제외한 /{리소스} 이해해야함
2. 이 요청이 어떤 HTTP 메서드를 이용했는지 알아야합니다.
3. 그 후 해당 리소싕 hTTP 메서드에 연결된 메서드를 실행해야합니다.
*스프링 부트 스타터 웹의 어노테이션을 이용하면 이 연결을 쉽게 할 수 있습니다.
package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("test") //resource public class TestController { @GetMapping public String testController() { return "Hello World!"; } }
@RestController @RequestMapping("test") //resource public class TestController { @GetMapping("/testGetMappiing") public String testControllerWithPath() { return "Hello World! testGetMapping"; } }
=>getMapping에서도 URI 경로 지정가능합니다.
=> 물론, RequestMapping에서도 지정이 가능하구요
반응형'Spring > 웹 개발 101' 카테고리의 다른 글
2.2.6 퍼시스턴스 레이어 : 스프링 데이터 JPA (0) 2022.04.11 2.2.5 서비스 레이어 : 비즈니스 로직 (0) 2022.04.10 2.2.4 매개변수를 넘겨받는 방법 (0) 2022.04.08 2.2.2 모델, 엔티티, DTO (0) 2022.04.04 2.2 백엔드 서비스 아키텍쳐 (0) 2022.04.03