Postman API

최정훈·2022년 7월 12일
0

포스트맨 정리

  • 조회 : GET
  • 등록 : POST
  • 수정 : PUT
  • 삭제 : DELETE

전체 종류

  • GET: 서버로 부터 데이터를 취득
  • POST: 서버에 데이터를 추가, 작성 등
  • PUT: 서버의 데이터를 갱신, 작성 등
  • DELETE: 서버의 데이터를 삭제
  • HEAD: 서버 리소스의 헤더(메타 데이터의 취득)
  • OPTIONS: 리소스가 지원하고 있는 메소드의 취득
  • PATCH: 리소스의 일부분을 수정
  • CONNECT: 프록시 동작의 터널 접속을 변경

1. GET

정의

GET 메소드는 주로 데이터를 읽거나(Read) 검색(Retrieve)할 때에 사용되는 메소드이다. 만약에 GET요청이 성공적으로 이루어진다면 XML이나 JSON과 함께 200 (Ok) HTTP 응답 코드를 리턴한다. 에러가 발생하면 주로 404 (Not found) 에러나 400 (Bad request) 에러가 발생한다.

  • HTTP 명세에 의하면 GET 요청은 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않는다.
  • GET 요청은 idempotent 하다.
  • 같은 요청을 여러 번 하더라도 변함없이 항상 같은 응답을 받을 수 있다.
  • 데이터를 변경하는 연산에 사용하면 안된다.

예시

GET /user/1
데이터를 조회하는 것이기 때문에 요청시에 Body 값과 Content-Type 가 비워져있다. 조회할 데이터에 대한 정보는 URL을 통해서 파라메터를 받고 있는 모습을 볼 수 있다.
데이터 조회에 성공한다면 Body 값에 데이터 값을 저장하여 성공 응답을 보낸다.
GET은 캐싱이 가능하여 같은 데이터를 한번 더 조회할 경우에 저장한 값을 사용하여 조회 속도가 빨라진다.

2. POST

정의
POST 메소드는 주로 새로운 리소스를 생성(create)할 때 사용된다. 조금 더 구체적으로 POST는 하위 리소스(부모 리소스의 하위 리소스)들을 생성하는데 사용된다. 성공적으로 creation을 완료하면 201 (Created) HTTP 응답을 반환한다.

  • POST 요청은 idempotent 하지 않다.
  • 같은 POST 요청을 반복해서 했을 때 항상 같은 결과물이 나오는 것을 보장하지 않는다
  • 두 개의 같은 POST 요청을 보내면 같은 정보를 담은 두 개의 다른 resource를 반환할 가능성이 높다.

예시

POST /user
body : {date : "example"}
Content-Type : "application/json"
데이터를 생성하는 것이기 때문에 요청시에 Body 값과 Content-Type 값을 작성해야한다. 해당 예시는 JSON을 통해서 작성된 예시이다.
URL을 통해서 데이터를 받지 않고, Body 값을 통해서 받는다.
데이터 조회에 성공한다면 Body 값에 저장한 데이터 값을 저장하여 성공 응답을 보낸다.

3. PUT

정의
PUT는 리소스를 생성 / 업데이트하기 위해 서버로 데이터를 보내는 데 사용됩니다.

  • PUT 요청은 idempotent 합니다.
  • 동일한 PUT 요청을 여러 번 호출하면 항상 동일한 결과가 생성됩니다.

예시

PUT /user/1
body : {date : "update example"}
Content-Type : "application/json"
데이터를 수정하는 것이기 때문에 요청시에 Body 값과 Content-Type 값을 작성해야한다. 해당 예시는 JSON을 통해서 작성된 예시이다.
URL을 통해서 어떠한 데이터를 수정할지 파라메터를 받는다. 그리고 수정할 데이터 값을 Body 값을 통해서 받는다.
데이터 조회에 성공한다면 Body 값에 저장한 데이터 값을 저장하여 성공 응답을 보낸다.

4. DELETE

정의
DELETE 메서드는 지정된 리소스를 삭제합니다.

예시

DELETE /user/1
데이터를 삭제하는 것이기 때문에 요청시에 Body 값과 Content-Type 값이 비워져있다.
URL을 통해서 어떠한 데이터를 삭제할지 파라메터를 받는다.
데이터 삭제에 성공한다면 Body 값 없이 성공 응답만 보내게 된다.

200: OK

  • 가장 자주 보게되는 Status Code
  • 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드
  • 우리는 모두 200 OK 를 원한다

201: Created

  • 무언가가 잘 생성되었을 때에(Successfully Created) 오는 Status Code
  • 대게 POST 메소드의 요청에 따라 백엔드 서버에 데이터가 잘 생성 또는 수정 되었을 때에 보내는 코드

400: Bad Request

  • 해당 요청이 잘못되었을 때 보내는 Status Code
  • 주로 요청의 Body에 보내는 내용이 잘못되었을 때 사용되는 코드
    ex) 전화번호를 보내야 하는데 숫자가 아닌 문자열의 주소가 대신 Body에 담겼을 경우

401: Unauthorized

  • 유저가 해당 요청을 진행하려면 먼저 로그인을 하거나 회원가입이 필요하다는 의미
    ex) wish list, 좋아요 기능은 회원이 아니면 요청을 보낼 수 없음

403: Forbidden

  • 유저가 해당 요청에 대한 권한이 없다는 뜻
  • 접근 불가능한 정보에 접근했을 경우
    ex) 오직 유료회원만 접근할 수 있는 데이터를 요청 했을 때

404: Not Found

  • 요청된 URI 가 존재하지 않는다는 의미

500: Internal Server Error

  • 서버에서 에러가 났을 때의 Status Code
  • API 개발을 하는 백엔드 개발자들이 싫어하는 코드 (프론트는 내 잘못 아니라는 것을 알 수 있는 코드)
profile
사과

0개의 댓글