[스터디]스프링 리액트 스터디 3회차 REST API
스터디 팀 명
한발 🙂
스터디 진행 회차 및 일자
3회차(2021.06.23) 스카이프 콜
스터디 주요 내용
- REST API가 뭔가? - https://www.youtube.com/watch?v=iOueE9AXDQQ
- REST API 설계 방법 - https://www.youtube.com/watch?v=JMH3cfW-8r8
REST API
URI만 봐도 무슨 요청인지 알아볼 수 있어야 한다.
REST URI는 동사가 아닌 명사로 이루어져야 한다.
CRUD - GET, POST, PUT, DELETE
POST로 CUD를 동시에 처리하기도 한다.
REST API를 제대로 쓰려면 DB 정규화가 중요하다.
URI를 계층적으로 작성하자.
모든 데이터를 보내줘야 한다. 일부만 바꾼다고 일부만 보내지 마라 —> 버그의 온상
REST API가 만능이 아니다.
합리적인 이유가 있고, 회사 내에 명확한 규칙이 있는 경우 그걸 따르면 된다.
스터디에서 나왔던 질문
REST API가 기능이냐 뭐냐 잘 모르겠다.
HTTP METHOD와 URI로 구성된 메시지 포맷이다.
전세계 개발자들이 다 아는 표준, API. HTTP Method 이므로 웹에서 주로 많이 쓰인다.
HTTP 를 더 설계된대로 정확하게 사용하고자 하는 것이다.
스프링도 REST API를 보고 자기들이 안에 포함시켜놓은 것이다.
참고 - 그런 REST API로 괜찮은가
POST만 쓰는 레거시 코드가 있는데 이거 이래도 되나요?
REST API가 반드시 따라야 하는 법칙이 아니고 GET, POST, PUT, DELETE 다 사용하는 곳도 있고 GET, POST 만 사용하고 POST를 데이터 처리, GET을 데이터 조회로 사용 GET이나 POST 하나만 사용해도 문제는 없는데
REST API라는 것은 같은 URI 요청을 날릴 때 METHOD(GET, POST, PUT, DELETE)에 따라서 동작을 달리 하는것이기 때문에 그걸 REST API를 사용했다고 말할 수는 없다.
어떤 방식이든 간에 정해진 규칙이 있느냐 그 규칙이 합리적이냐, 이유, 논리가 있냐 이런게 중요하다.
한 화면에서 회원 정보, 회원이 주문한 주문 목록, 위시리스트 정보가 나온다고 했을 때, 세번 리퀘스트를 날려야 하는가?
REST API에서는 그렇다.
회원 정보를 조회하는 URI에 주문목록, 위시리스트도 담아서 보내주면 되지 않느냐?
- 매번 다 담아서 보낸다? 말도 안된다.
파라미터에 조건을 줘서 추가로 조회해오거나 아니거나 하게 작성하면 안될까?
- 합리적이다. 근데 점점 복잡해진다. 어려워진다. 모르면 못쓴다.
동적으로 Response 모양을 만드는 GraphQL이란게 있다. 정확히 어떤 방식인지 안써봐서 모른다.
그래서 웬만큼 많이 리퀘스트가 발생하지 않는다면 그냥 여러번 갔다와도 큰 문제는 없다.
다음번 스터디 주제
스프링 기본 챕터 2 까지
칸아카데미 자바스크립트 자율 학습
댓글을 작성해보세요.