2022 年 06 月 - GraphQL 使用時機 === ## API 類型 * RESTful * GraphQL * SOAP * RPC - Remote Procedure Call * gRPC * XML-RPC * JSON-RPC * https://ethereum.org/zh-tw/developers/docs/apis/json-rpc/ > 什麼是 API? > - Application Programming Interface > - 「它定義多個軟體中介之間的互動,以及可以進行的呼叫(call)或請求(request)的種類」- [Wiki](https://zh.wikipedia.org/zh-tw/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%8E%A5%E5%8F%A3) ### Protocol * HTTP/HTTPS * RESTful * gRPC - HTTP/2 * WebSocket - ??? * TCP/UDP * CPU/In-Memory ### Format * RESTful -> Any Format -> 只是一種 URL 設計風格 * GraphQL -> 不是一種 API -> 是一種查詢語言 * SOAP -> XML * RPC * gRPC -> Protocol Buffers * XML-RPC -> XML * JSON-RPC -> RPC ### Spec / Standard * GraphQL -> (?) * SQL * SOAP * RPC * gRPC * XML-RPC * JSON-RPC ## 其他 * https://www.yuanlin.dev/posts/628c87a6113d85275a89dcba