인터넷에서 웹 서버와 사용자 컴퓨터에 설치된 웹 브라우저 사이에 문서를 전송하기 위한 통신 규약. 하이퍼텍스트를 전송하기 위해 사용되는 통신 규약
파일 : FTP(file transfer protocol:파일 전송하는 길 명칭)
(프로토콜(Protocol)은 통신 시스템이 데이터를 교환하기 위해 사용하는 통신 규칙이다.)
운영체제와 응용프로그램 사이의 통신에 사용되는 언어나 메시지 형식
client와 server사이의 대회 규칙 또는 방식
REST-API : https://koreanjson.com & postman
GraphQL-API(Graph Query Language) : http://example.codebootcamp.co.kr/graphql
API를 위한 쿼리 언어 (apollo-client 사용)
차이점 : REST-API는 원하는 데이터만 보여주고 싶어도 데이터를 다 받아와서 사용해야한다.(네트워크 비용이 많이 들수 있다.)
차이점 : rest-api는 그대로 받고 graphql-api는 골라서 받음
axios(rest-api의 도구) 요청할때
Create -> POST (해당 리소스를 생성)
Update -> PUT (해당 리소스를 수정)
Delete -> DELETE (해당 리소스를 삭제)
Read -> GET (해당 리소스를 조회 및 해당 도큐먼트에 대한 자세한 정보를 가져옴)
Apollo-client(graphql-api의 도구) 요청할때
Create -> MUTATION
Update -> MUTATION
Delete -> MUTATION
Read -> QUERY
queries : 생성된 내용을 요청하여 불러옴, 확인 등..
mutations : 생성하거나 수정을 요청할 수 있음
queries을 활용할 때엔 query{}로 리소스를 조회
mutations는 mutation{}으로 리소스를 생성, 수정 및 삭제
queries와 mutations는 정보를 불러올 때
query 또는 mutation {
fetchProfile(name:"철수") {
number
name
age
school
}
}
※ fetchProfile(name:"철수") {
**중괄호 안에 type details를 입력하여야 불러올 수 있음**
}
※ 위의 사이트에서 docs를 보고 활용시 많은 도움이 될듯