RESTful API
요청 별로 API 개발. 여러 개의 API URI가 생김
예) 글 관련 API = /posts
- 작성 = POST /posts
- 수정 = PATCH /posts/[postid]
- 삭제 = DELETE /posts/[postid]
장점
단점
- 요청과 응답 스키마가 정해져 있어서 특정 데이터가 필요할 때, 불필요한 데이터까지 불러와야 하거나 필요한 정보가 각각 다른 api에 나눠져 있을 때 둘다 요청해서 클라이언트에서 조합해서 사용하거나 새로운 api를 서버에서 개발해야 한다.
GraphQL API
API에 필요한 값을 담아서 요청. 1개의 URI를 사용하여 필요한 값만 받을 수 있음.
장점
- query에 필요한 값만 요청하면 되기 때문에 다양한 케이스에 필요한 데이터만 받아 올 수 있다.
- api 개발시 1개의 api 개발로 여러 케이스를 커버할 수 있다.
단점
- query를 담아 보내야 하므로 요청 크기가 커진다. 그래서 항상 고정된 값만 반환하는 케이스라면 적당하지 않다.
참고
자세한 내용은 아래 포스팅이 잘나와 있다
https://www.holaxprogramming.com/2018/01/20/graphql-vs-restful-api/
GraphQL 탄생
https://graphql.org/blog/graphql-a-query-language/
오류 내용이 있다면 지나치지 말고 댓글 남겨주세요. 😊