API
5381 ワード
APIとは?
バックエンドサーバ上でデータ処理を担当する命令.APIを作成する方法にはRestとGraphqlがあります.
restとGraphqlのAPIの外観は以下の通りです.
rest-API Graphql-API 1番投稿クエリーhttp://abc.com/board/1 board(1)プロファイルクエリーhttp://abc.com/profile/ジョディ profile(「Jordy」)
Restはアドレス形式,Graphqlは通常の関数形式と同一である.
また,両者の最大の相違は
응답
であった.rest-API
はバックエンドから준비된 내용을 전부
を受信する必要があるが、graphql-API
は원하는 내용
しか受信できない.すなわち、rest-apiは、現在の局が投稿に対する要求がある場合、投稿全体を受信することができ、graphql-apiは、作成者、タイトルなどのコンテンツを選択することによってのみ受信することができる.
CRUD
APIのメソッドは、作成、Read、Update、Deleteを意味します.1つの機能では、CRUD形式のAPIを作成する必要があります.(少なくとも4つのCRUDが必要)
restGraphql POSTOMUTATION修正(更新)PUTMUTION削除DELETEMUTTATIONクエリーGETQUERYの作成
rest-API合成例
import axios from ‘axios’
const result = axios.post.(API)
const result = axios.put.(API)
const result = axios.delete.(API)
const result = axios.get.(API)
Graphql-API合成例
import { useMutation, useQuery } from ‘@apollo/client’
const result = useMutation()
const result = useQuery()
同期と非同期
동기
とは、サーバコンピュータが動作を完了するのを待ってから、次のタスクを実行する通信を指し、비동기
とは逆に、サーバコンピュータが動作を完了するのを待たずに他のタスクを実行する通信を指す.すなわち、非同期は複数のタスクを同時に処理することができ、同期はそうではない.しかし,非同期処理方式が無条件に有効であるとは考えられない.登録して登録した投稿を表示する必要がある場合は、同期処理が必要です.
promise
promiseは、JavaScriptで非同期処理に使用されるオブジェクトです.
pending(대기)
:非同期処理ロジックが完了する前にfullfilled(이행)
:非同期処理が完了しましたrejected(실패)
:非同期処理失敗/エラーfunction callRestAPI () {
const data = axios.get('https://koreanjson.com/posts/1')
console.log(data)
}
axiosを使用してrest−APIからデータを要求および受信すると、axiosが非同期で実行されるため、コンソールウィンドウはpromise
を出力することがわかる.これは、データを受信する前にデータを出力しようとしたときに画面にエラーが発生する問題を解決するためです.承諾ではなく値を得るためには、非同期実行を同期実行に変更する必要があります.
asyncとwait
非同期運転を同期運転に変換するには、
async
およびawait
を使用することができる.awaitと書かれた行のコード実行が完了するまで、次のコードは実行されません.asyncは、使用する関数の前に待機している関数に書くことができます.二人で必ず一緒に書くことを忘れないでね!!
const callRestApi = async () => {
const result = await axios.get("http://koreanjson.com/posts/1")
Reference
この問題について(API), 我々は、より多くの情報をここで見つけました https://velog.io/@imnamesol/Rest-API-vs-GraphQL-APIテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol