Spring/웹 개발 101
2.2.3 REST API || 2.2.4 컨트롤러 레이어
cosmohoo
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에서도 지정이 가능하구요
반응형