BT

PayPalのAPIスタイルガイドとパターン

| 作者: Abel Avram フォローする 11 人のフォロワー , 翻訳者 西村 美沙 フォローする 0 人のフォロワー 投稿日 2017年10月30日. 推定読書時間: 2 分 |

原文(投稿日:2017/09/22)へのリンク

PayPalはRESTful APIを通じて相互に接続できるPaaSを開発した。これらのAPIを開発、利用するためのガイドラインデザインパターンを作り上げ、他の開発者が自分たちのプロジェクトにインスピレーションを得られるように公開した。

PayPalは何年も掛けてプラットフォームに合うAPIを開発、進展させ、APIデザインガイドラインを考え出した。ガイドは次のような基礎原理に従っている:

  • 疎結合 - サービスとコンシューマは相互に疎結合するべきである。
  • カプセル化 - ドメインサービスはデータと機能にアクセスできる。他のサービスコントラクトのみによって所有するものではない。
  • 信頼性 - サービスコントラクトは安定しているべきである。
  • 再利用性 - サービスは、複数のコンテキストに渡り、複数のコンシューマによって再利用できるように開発されるべきである。
  • コントラクトベース - 機能とデータは標準化されたサービスコントラクトによってのみアクセスできるようにするべきである。
  • 一貫性 - サービスは共通のルールセット、インタラクションスタイル、用語、共有型に従うべきである。
  • 使いやすさ - サービスは容易に使えて、コンシューマ(アプリケーション)で組み立てられるべきである。
  • 外部化= サービスは提供された機能が用意に外部化できるようにデザインされるべきである。

ビジネス能力はリソースとして明らかにされる= 名前を持てる全ての情報である。リソースは1つのサービスによって提供されるべきであり、重複は避けるべきである。CRUD操作はリソース上に限られ、次のHTTP動詞によって実装されるべきである。

€・
  • GET - リソースを読み出す
  • POST - リソースを作り出す、またはリソース上で複雑な操作を実行する
  • PUT - リソースを更新する
  • DELETE・ リソースを削除する
  • e
  • PATCH - リソースに部分的な更新を実行する

HTTPリクエストとレスポンスは、JSONスキーマに基づいたJSONデータインターチェンジフォーマットを使ってデータを送信する。JSONプリミティブ= string, number, enumeration, array, null - と共通型の両方がサポートされている。後者にはaddress, money, date, time, country, phone numberなどがある。

APIガイドはRESTメソッドに則ったハイパーリンクの使い方を示すコードサンプル付きのHATEOASユースケースを含んでいる。また、HTTPメソッドとステータスコードのマッピング、URIの命名規則、クエリパラメータ、リソース、エラーハンドリング、バージョニング、デプリケーションなど、HTTPヘッダ(スタンダードとカスタム)とステータスコードを利用する上でのガイドラインもある。PayPalはまた、APIを利用するためのパターンとコードサンプルが付いたAPIデザインパターンとユースケースをドキュメントとして公開している。

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT