[RESTAPI] 작업하면서 작성했던 내용들

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