본문 바로가기

비공개/강의 간단 정리(추후 복습하면서 수정)

[Section03] 데이터 통신 실습

restAPI

postman 사용

 

 

KOREAN JSON 부분의 ROUTES 부분의

Endpoint 부분 보면 /aaa 이런식으로 되어있는데

저 부분은 koreanjson.com/aaa 이렇게 해야 한다.

주소에 /:id 이런식으로 : 가 들어있으면 뒤에 가변성이 있는 숫자 등등이 들어온다.

 

restful 하다 : Endpoint 를 통일 시켰는가?

(Endpoint 라는 부분은 백엔드 개발자 마음대로 지을 수 있음.)

 


 

graphqQL

1-1 . ! 는 무조건 보내줘야하는 필수값

1-2 . **[!]**는 있다면 무조건 보내줘야하는 조건필수값.

 


 

API 요청 연습

등록

# mutaion 또는 query 할거라고 선언
mutation {
  # 상품 등록하는 API요청
  createProduct (
    seller: "stella", 
    createProductInput : {
      name : "T-shirt",
      detail : "편안한 티셔츠"
      price : 14000
    }
  ), {  # 중괄호 안은 받고싶은 것 입력, 무조건 하나라도 받아줘야함
    _id
    number
    message
  }
  }
}

등록 결과물

{
  "data": {
    "createProduct": {
      "_id": "55b0b64d-856c-476c-ae49-42db05fe41ac",
      "number": null,
      "message": "상품이 정상적으로 등록되었습니다."
    }
  }
}

 


 

조회

# query 할거라고 선언
query {
  fetchProduct (
    productId: "55b0b64d-856c-476c-ae49-42db05fe41ac"
  ){
    # 선택적으로 조회
    seller
    price
  }
}

 

조회 결과물

{
  "data": {
    "fetchProduct": {
      "seller": "stella",
      "price": 14000
    }
  }
}

 


 

수정해보기

mutation {
  updateProduct (
    productId: "55b0b64d-856c-476c-ae49-42db05fe41ac",
    updateProductInput: {
      # 수정할 내용
      name: "Shoes",
      price: 10000
    }
  ){
    _id
    number
    message
  }
}

 

수정 결과물

{
  "data": {
    "updateProduct": {
      "_id": "55b0b64d-856c-476c-ae49-42db05fe41ac",
      "number": null,
      "message": "상품이 정상적으로 수정되었습니다."
    }
  }
}

docs에 중괄호가 없는 경우 

query {
  #괄호를 쓰지 않고 그냥 이것만 불러옴
  fetchBoardsCount
}

 

결과물

{
  "data": {
    "fetchBoardsCount": 267907
  }
}