RESTful API

Bummy·2023년 2월 11일
0

웹개발

목록 보기
2/7

RESTful API?

RESTful API란 REST를 기반으로 만들어진 API를 의미한다.

REST?

REST(Representational State Transfer)

  • 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다.
  1. HTTP URI를 통해 자원을 명시하고
  2. HTTP Method(GET, POST, PUT, DELETE)를 통해
  3. 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미

설계 및 구현시 주의할 점

주의할 점

1) URI는 동사보다는 명사를, 대문자는 소문자를 사용한다.

[BAD] http://bummy.com/VELOG
[GOOD] http://bummy.com/velog

2) URL 마지막엔 슬래시 구분자를 사용하지 않는다

[BAD] http://bummy.com/velog/
[GOOD] http://bummy.com/velog

3) 언더바(_) 대신 하이픈(-)을 사용한다.

[BAD] http://bummy.com/velog_restful_api
[GOOD] http://bummy.com/velog-restful-api

4) 파일 확장자는 URI에 포함하지 않는다

[BAD] http://bummy.com/velog/api.jpg
[GOOD] http://bummy.com/velog/api

5) Method는 포함하지 않는다.

[BAD] http://bummy.com/update-posts/1
[GOOD] http://bummy.com/posts/1

http 상태코드

  • 요청 뿐만 아니라 결과에 대한 상태 값도 잘 보여줘야한다.
    1) 200번대
    - 200 : 클라이언트의 요청을 서버가 정상적으로 처리했다.
    - 201 : 클라이언트의 요청을 서버가 정상적으로 처리했고 새로운 리소스가 생겼다.
    - 202 : 클라잉너트의 요청은 정상적이나, 서버가 아직 요청을 완료하지 못했다.
    2) 300번대
    - 301 : 요청한 리소스의 URI가 변경되었다.
    - 302 : 요청한 리소스의 URI가 일시적으로 변경되었다.
    - 303 : 클라이언트가 요청한 작업을 하기 위해서는 다른 URI에서 얻어야할 때
    3) 400번대
    - 401 : 요청을 위해 권한 인증이 필요하다.
    - 403 : 클라이언트가 요청한 컨텐츠에 대해 접근할 권한이 없다.
    - 404 : 요청한 URI를 찾을 수 없다.
    4) 500번대
    - 500 : 서버 문제로 응답할 수 없다.
    - 503 : 현재 서버가 유지보수나 과부하로 인해 일시적으로 사용이 불가하다.
    - 504: 서버가 다른 서버로 요청을 보냈으나 delay가 발생하여 처리가 불가능하다.

정리

즉 RESTful API는 REST 규칙을 잘 지킨 API라고 설명할 수 있다.

0개의 댓글