REST 란 ?
- REST (Representational State Transfer) 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 작업을 지정하는 방식
REST 아키텍처 스타일 원칙
- 균일한 인터페이스 (서버가 표준 형식으로 정보를 전송함)
- 무상태 (서버가 이전의 모든 요청과 독립적으로 모든 클라이언트 요청을 완료하는 통신방법)
- 계층화 시스템 (클라이언트와 서버 사이의 다른 승인된 중개자에게 연결할 수 있으며 여전히 서버로부터 응답을 받음)
- 캐시 가능성 (캐싱을 지원)
- 온디맨드 코드 (클라이언트 기능을 일시적으로 확장하거나 사용자 지정할 수 있습니다.
장점 및 단점
- 확장성 유연성, 독립
- 딱 정해진 표준이 없음 (암묵적인 표준만 있음 지켜도되고 안지켜도 되고 ~~)
REST 방식
POST : /blog/byon26 (쓰기)
GET : /blog/byon26/1 (읽기)
PUT : /blog/byon26 (수정)
DELETE : /blog/byon26/1 (삭제)
REST API 설정
jackson library
jackson-databind -> JSON 포멧
jackson-dtaformat-xml -> XML
---> pom.xml에 라이브러리 추가
REST 관련 Annotation
@RestController : Controller가 REST 방식을 처리하기 위한 것임을 명시 (ResponseBody 안써도 됨)
@ResponseBody : JSP 같은 뷰로 전달되는 것이 아니라 데이터 자체를 전달
@PathVariable : URL 경로에 있는 값을 파라미터로 추출 ex) PathB=Variable String isbn
@CrossOrigin : Ajax의 크로스 도메인 문제를 해결 ( 모두 허용 = *)
@RequestBody : JSON 데이터를 원하는 타입으로 바인딩
Cotroller 단에서의 사용법
1. ResponseEntity<?>의 ?에 반환 타입을 지정하여 뷰 단에서 사용할 수 있게 전달
2. 결과값가 상태코드를 반환하여 (반환 리턴 값 : HttpStatus) 뷰단에서 처리
3. 뷰단에서는 Ajax를 이용하여 비동기 통신으로 결과값 출력
더 공부해야 할 부분
: 페이징 처리 , 게시판 만들어 보기
'[BACK-END] > [SPRING]' 카테고리의 다른 글
Spring 개념 및 DI (0) | 2023.04.18 |
---|---|
Spring MVC (0) | 2022.12.16 |
Spring bean (0) | 2022.12.14 |
Spring 백엔드 기초 중 기초 [회원관리]-(2) (0) | 2022.12.07 |
Spring 백엔드 기초 중 기초 [회원관리]-(1) (0) | 2022.12.07 |