[Spring] REST ful API 란?
2024. 2. 24. 11:17ㆍBE/Spring
본 포스팅은 REST ful API의 기본 개념과 사용 예시에 대해 다룹니다.
API
API는 Application Programming Interface의 약자로 프로그램들이 통신하기 위한 통신 규약을 일컫습니다. 즉, 클라이언트가 서버쪽으로 request를 보내면, 그 request에 대한 response가 API를 통해 전송되는 것입니다.
예를들어, http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99 API는 서울시에서 제공하는 미세먼지 데이터를 얻을 수 있습니다.
REST
REST는 REpresentational State Transfer의 약자로 자원을 이름(표현)으로 구분하여 자원의 상태(정보)를 전달하는 것입니다. 즉, 클라이언트가 원하는 자원과 그 표현을 요청하면, 서버는 자원의 표현으로 응답하는 방식을 REST라고합니다.
그렇다면 RESTful API는 무엇일까요 ? API가 REST의 특징을 가지고 있으면 그 API를 REST ful API라고 부를 수 있는 것입니다.
예를들어, 유저의 게시물을 모아놓은 게시판이 있다고 했을 때, 특정 유저의 게시물을 얻고, 수정, 삭제하는 API는 아래와 같이 나타낼 수 있습니다.
자원(URI) | 표현 | 행위 |
/userBoard/1 | json | GET |
/userBoard/1 | json | PUT |
/userBoard/1 | json | DELETE |
코드로 나타내면 아래와 같습니다.
@GetMapping("/userBoard/{id}")
@ResponseBody
public BoardResponseDto userBoard(@PathVariable Long id) {
return boardService.findBoard(id);
}
@PutMapping("/userBoard/{id}")
public ResponseEntity<String> putUserBoard(@RequestBody BoardRequestDto requestDto) {
boardService.updateBoard(requestDto);
return ResponseEntity.ok("수정이 완료되었습니다.");
}
@DeleteMapping("/userBoard/{id}")
public ResponseEntity<String> delUserBoard(@PathVariable Long id) {
boardService.deleteBoard(id);
return ResponseEntity.ok("삭제가 완료되었습니다.");
}
'BE > Spring' 카테고리의 다른 글
[Spring] Failed to load remote configuration. (0) | 2024.03.01 |
---|---|
[Spring] 의존성 주입(DI)과 제어의 역전(IoC) (0) | 2024.02.25 |
[Spring] 초간단! 인자의 종류 (0) | 2024.02.24 |
[Spring] 초간단! ResponseDto, RequestDto (0) | 2024.02.24 |
URI ? URL ? (0) | 2024.02.23 |