2023. 4. 4. 22:23ㆍ개발/ETC
REST
- HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고 HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다.
CRUD Operation
- CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제) 를 묶어서 일컫는 말이다.
Create : 데이터 생성
- Request Method : POST
Read : 데이터 조회
- Request Method : GET
Update : 데이터 수정
- Request Method : PUT(일괄 수정),PATCH(부분 수정)
Delete : 데이터 삭제
- Request Method : DELETE
HTTP 상태 코드
| 상수 | 코드 | 정의 |
| HTTP_OK | 200 | 성공 |
| HTTP_CREATED | 201 | 클라이언트의 요청을 서버가 정상적으로 처리했고 새로운 리소스가 생겼다. - PUT,POST 요청 시에만 처리 - 예외 - POST 요청인데 새로운 리소스를 생성하지 않을 경우 status_code 는 200 - 여러 항목중 하나라도 리소스 생성이 일어날 경우 status_code 는 201 - PATCH 요청 시 새로운 리소스가 생성되는 상황이여도 status_code 는 200 |
| HTTP_BAD_REQUEST | 400 | 클라이언트 잘못된 요청 - ex) 회원유형이 4 일 경우 (1,2,3 밖에 없음) |
| HTTP_UNAUTHORIZED | 401 | 권한 없는 사용자의 요청 - 메뉴/특수권한 등에서 사용 |
| HTTP_NOT_FOUND | 404 | 존재하지 않는 API |
| HTTP_METHOD_NOT_ALLOWED | 405 | HTTP 메소드 없음 |
| HTTP_INTERNAL_ERROR | 500 | 서버 내부 오류 ex) DB Error, 로컬 파일 업로드 등 |
| HTTP_SERVICE_MAINTENANCE | 505 | API 서버 점검중 (Custom) |
| HTTP_AUTHENTICATION_LOGIN | 511 | 인증 필요 - 코드 로그인이 필요 한 경우 - 기타 인증이 필요 한 경우 - ex) 비밀번호 변경 시 이메일 인증이 안될 경우 511 코드로 응답 |
HTTP METHOD
- 사용 METHOD
- GET : 리소스를 조회한다
- POST : 리소스를 생성한다
- PATCH : 리소스를 부분수정 한다
- DELETE : 리소스를 삭제한다
- 예외
- 파일 (이미지) 수정 API
- PATCH → POST
URI
- 계층형 구조
- /staffs/amuke/profile
- 상위 → 하위 순서 전체 직원중(staffs) / 아무개의(amuke) / 프로필(profile)
- 동사 사용을 최대한 배제
- 동사는 HTTP METHOD를 통해 의미를 전달한다.
- /products/3/image_delete → DELETE /products/3/image
- 전체 URI에서 단어를 중복 사용하지 않는다.
- /products/product_group/:brand
- /products/group/:brand
'개발 > ETC' 카테고리의 다른 글
| vscode 확장프로그램 및 설정 (0) | 2024.08.27 |
|---|---|
| ubuntu 22.04 환경에서 jenkins 설치하기 (0) | 2023.06.22 |