728x90
반응형
# RESTFul API 사용이유
간단하게 이야기하면 하나의 소스(Data)를 다양한 클라이언트에서 사용하고자 하는 목적에서 시작 되었다.
웹으로만 서비스 한다면 굳이 REST API로 분리하여 구성 하지 않는것이 성능에 더 좋다.
하지만 스마트폰이 등장하고 다양한 환경에서 소스(Data)를 사용하기 위해서는 RESTFul API로 개발하는 것이 표준이 되었다.
# 기본적으로 SpringBoot Controller에 정의된 값을 RestAPI로 설정한다.
- 예제 코드는 아래와 같다.
package kr.co.sample.sampleapi.controller;
import kr.co.sample.sampleapi.entity.User;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
@RestController
public class TestController {
@GetMapping(value = "/user/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public Object findUser(
@PathVariable(value = "id", required = true) String id,
@RequestHeader(value = "User-Agent") String userAgent,
@RequestParam(value = "param1", required = false) String param1,
@RequestParam(value = "param2", required = false) String param2){
return true;
}
@GetMapping(value = "/user", produces = MediaType.APPLICATION_JSON_VALUE)
public Object findUsers(
@RequestHeader(value = "User-Agent") String userAgent,
@ModelAttribute User user){
return true;
}
@PostMapping(value = "/user", produces = MediaType.APPLICATION_JSON_VALUE)
public Object CreateUser(
@RequestHeader(value = "User-Agent") String userAgent,
@RequestBody(required = true) User user){
return true;
}
}
728x90
반응형