ReST

  • 간단하게만 말하면 URI 로 정보의 자원을 표현하고 (명사)
  • HTTP Method 로 자원의 처리법을 표현 (동사) 한다
  • 그리고 사람이 읽기 편하도록 설계해야 한다

단점

  • 일단 명확한 표준이 없어서 좀 난해하고 사람마다 다를 수 있음
  • 멱동성을 보장하지 않기 때문에 분산환경에 적합하지 않음? → 뭔소리임

URI 구성

  • 일단 / 는 계층관계를 표현하는 데에 사용된다 → / 를 사용할 수록 더 구체적인 자원을 표현한다고 생각하면 될듯
  • 위에서도 말했듯이 URI 에는 자원이 들어가야지 행위(처리법) 에 대한 언급이 들어가서는 안된다
  • URI 의 마지막에는 / 를 사용하지 않는다
  • URI 에는 _ 을 사용하지 않는다
  • 소문자를 사용한다
  • 파일 확장자는 포함하지 않는다 → Accept header 를 사용하는 것이 바람직하다

관계 표현하기

  1. ‘has’ 관계의 표현
    • 몰랐는데 이런식으로 한다더라
    • 어떤 유저가 갖고 있는 디바이스들을 조회할때
    • GET: /users/${USER_ID}/devices
  2. Document, Collection
    • Document: 뭐 그냥 단일 객체라고 생각해도 된다. 사람 한명, 음료수 하나 등 → 당연히 단수명사로 표현하는게 보기 좋다
    • Collection: 이건 Document 들의 모임이라고 생각하면 된다. 복수명사로 표기하는게 읽기 좋다
    • 이걸 이용해서 (/${COLLECTION}/${DOCUMENT})* 형식으로 표현할 수 있다
    • 예를 들면 축구선수 13을 표현할때
    • GET: /sports/soccer/players/13 라고 표현하면 보기 좋제?