REST API

이정연·2023년 6월 7일
0

Django

목록 보기
12/12

한국어로 직역하면 "대표 상태 전송"

전혀 와닿지 않는다.

내가 공부한 내용을 요약하자면 URI로 자원을 표현하는 방법 정도로 이해했다.

이래도 무슨 말인지 이해가 안될 수도 있으니 간단한 예시를 들어보겠다.

http:// restapi.example.com/sports/soccer/players/13

위의 URI를 보고 대강 저 웹페이지가 무엇을 표현할지 감이 온다.

아마 축구팀의 13번 선수에 대한 정보가 나오지 않을까?

이게 바로 restful 하다는 것이다!!

REST 구성

  • 자원(Resource) - URI
  • 행위(Verb) - http 메서드
  • 표현(Representations)

REST 디자인 가이드

  1. URI는 정보의 자원을 표현해야 한다.
  2. 자원에 대한 행위는 http 메서드로 표현한다
  3. http 메서드: GET, POST, PUT, DELETE

HTTP 메서드 역할

METHOD역할
POSTPOST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
GETGET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
PUTPUT를 통해 해당 리소스를 수정합니다.
DELETEDELETE를 통해 리소스를 삭제합니다.

이는 데이터베이스의 CRUD에 대응된다.

HTTP 응답 CODE

긍정

상태CODE내용
200클라이언트의 요청을 정상적으로 수행함
201클라이언트가 어떠한 리소스 생성을 요청, 해당 리소스가 성공적으로 생성됨(POST를 통한 리소스 생성 작업 시)

부정

상태코드내용
400클라이언트의 요청이 부적절 할 경우 사용하는 응답 코드
401클라이언트가 인증되지 않은 상태에서 보호된 리소스를 요청했을 때 사용하는 응답 코드(로그인 하지 않은 유저가 로그인 했을 때, 요청 가능한 리소스를 요청했을 때)
403유저 인증상태와 관계 없이 응답하고 싶지 않은 리소스를 클라이언트가 요청했을 때 사용하는 응답 코드(403 보다는 400이나 404를 사용할 것을 권고. 403 자체가 리소스가 존재한다는 뜻이기 때문에)
405클라이언트가 요청한 리소스에서는 사용 불가능한 Method를 이용했을 경우 사용하는 응답 코드
상태코드
301 클라이언트가 요청한 리소스에 대한 URI가 변경 되었을 때 사용하는 응답 코드
(응답 시 Location header에 변경된 URI를 적어 줘야 합니다.)
500 서버에 문제가 있을 경우 사용하는 응답 코드

레퍼런스

https://meetup.nhncloud.com/posts/92

profile
0x68656C6C6F21

0개의 댓글