REST : 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것
API : 애플리케이션 프로그래밍 인터페이스
: 응용 프로그램이 서로 통신할 수 있도록 하는 일련의 규칙
REST API
컴퓨터와 컴퓨터, 서버와 클라이언트 등 다양한 애플리케이션 연결 구조에서 프로그래밍 인터페이스 규격에 맞춰 자원의 이름으로 구분하여 자원의 상태를 주고받는 행위
GET | 해당 리소스를 조회함(read) |
POST | 해당 URL를 요청하면 리소스를 생성(create) |
PUT | 해당 리소스 수정(update) |
DELETE | 해당 리소스 삭제(delete) |
REST 구성
- 자원(Resource) - URI
- 행위(Verb, Method) - HTTP Method(요청 방식) - GET, POST 등
- 표현(자원의 형태, Representations) - JSON, XML 등
REST API 기본 규칙
- URL는 정보의 자원을 표시해야 함
- 동사보다는 명사를, 대문자보다는 소문자 사용
- 복수 명사 사용
- 확장자를 사용하지 않음
- 밑줄 X, 하이픈 O
- 자원에 대한 행위는 HTTP Method로 표현
- HTTP Method(GET, POST, PUT, DELETE 등)나 동사표현이 URI에 들어가면 안됨
EX) 잘못된 설계
전체 조회 @GetMapping(/member/get)
특정 조회 @GetMapping(/member/get/{id})
등록 @PostMapping(/member/get/create)
삭제 @GetMapping(/member/get/delete/{id})
수정 @PostMapping(/member/update/{id})
EX) 올바른 설계
전체 조회 @GetMapping(/member)
특정 조회 @GetMapping(/member/{id})
등록 @PostMapping(/member)
삭제 @DeleteMapping(/member/{id})
수정 @PutMapping(/member/{id})
REST API 세부규칙
- 슬래시(/)는 계층 관계를 나타냄
- URI의 마지막엔 슬래시 포함하지 않음
- 언더바 사용 X, 하이픈 사용 O
- 소문자 사용
'Web & Android > SpringBoot' 카테고리의 다른 글
[SpringBoot] Validation (0) | 2023.10.13 |
---|---|
[SpringBoot] HTTP form에서 put, delete 사용법 (0) | 2023.10.13 |
[SpringBoot] Bean (0) | 2023.10.13 |
[SpringBoot] 스케줄링 (1) | 2023.10.13 |
[SpringBoot] Google 이메일 인증 (0) | 2023.09.12 |