[스터디]스프링 리액트 스터디 3회차 REST API

스터디 팀 명

한발 🙂

스터디 진행 회차 및 일자

3회차(2021.06.23) 스카이프 콜

스터디 주요 내용

  1. REST API가 뭔가? - https://www.youtube.com/watch?v=iOueE9AXDQQ
  2. 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 까지

칸아카데미 자바스크립트 자율 학습

댓글을 작성해보세요.

채널톡 아이콘