REST API

김금동·2021년 11월 21일
0

목록 보기
2/4

api들을 쓰면서도 rest api라는 것을 들어만 보다가 이번에 처음으로 이게 뭐지 하고 공부를 하면서 느낀점은 정말 나는 기본도 안된 놈이었다

rest api는 rest하게 api를 만들기 위한 약속이라고 보면 된다. api들을 막 만든 나로서는 api를 어디로 보내든 어떻게 보내든 해보니까 되네?할 정도로 자유도가 굉장히 높다. 그래서 댓글 저장하는 api를 만들때 uri에 api/whatever_make를 쓰고 method로 get을 쓰고 body에 보내도 보내진다.

하지만 나처럼 미친 자유도를 뽐내면서 api들을 쓴다면 누군가 내 api들을 보고 이건 어따 보내는 거고 뭘 하려는 api지?라는 생각이 들수 밖에 없을 것이다.그래서 나온게 rest api이다.

먼저,
rest api란 웹의 장점을 최대한 활용할 수 있는 아키텍처이다.

rest api는 3가지 구성요소로 되어있다.

  • 자원(resource) - uri
  • 행위(verb) - http method
  • 표현(representations)

rest api설계 디자인은 2가지를 기억하자
1.uri는 정보의 자원을 포함해야한다
2.자원에 대한 행위를 http method로 표현한다

처음내가 썼던 예를 rest api로 다시 써보면, 댓글을 저장하려는 api를 만들려면 uri는 api/comment 라고 쓰고 method는 post로 보낸다. 이제 여기서 의문이 든다. uri는 정보의 자원을 포함시키면 되는 거니까 이건 어떻게 내가 해 볼만 한거 같은데 http method는 어떻게 써야하는거지? post는 뭐지?

그래서 http method에 대한 기본지식이 필요하다.
난 처음에 http method가 get, post방식밖에 없는 줄 알았는데 알고보니 굉장히 많았다.

아래 링크를 보면 http method의 종류,역할 method를 어떻게 보내야 하는지 잘 정리 되어있다.

표로 잘 정리한 사이트:https://javaplant.tistory.com/18
mdn(근본): https://developer.mozilla.org/ko/docs/Web/HTTP/Methods

나도 여기서 method를 알고 이제 rest하게 써보자!라고 생각했지만 느낌적으로만 알았던 uri 를 제대로 쓰기 위한 방법이 따로 있었다.

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

위 링크에서 '4. rest api디자인 가이드' 부분부터 보면 uri를 제대로 쓰는 방법이 자세하게 나온다.(전반적인 rest api이해를 위해서는 처음부터 쭉 읽는 것도 굉장히 좋을듯하다)

그래서 여기까지 생각하고 이제는 uri 쓰는 방법, http method쓰는 방법을 알았으니 이제 rest하게 api를 수정하러 가보자 생각했지만 리소스에 대한 응답을 잘 내어주는 것까지가 rest api에 포함 된다라고 한다.

https://javaplant.tistory.com/18

아까 위에 언급했던 사이트에 다시가서 http 응답 상태 코드를 참고하자. 이것까지가 rest하기 위한 api이다.

사실 내가 리서치하고 최대한 끌어모아서 정리했지만 이쯤되니까 이게 정확한 rest api를 정리한 것인지 모르겠다. 차라리 로이필딩씨가 쓴 rest api논문을 읽어보고 다시 수정해야겠다.

profile
나원래chu해

0개의 댓글