いいえなしの標準、チャット春ブーツRESTfulなインターフェースの設計仕様を支配しません

インターフェースの設計では、そのようなビジネス・ポジショニング・インタフェース、セキュリティ、インターフェイス、インターフェイスのスケーラビリティ、クロスドメイン界面の安定インタフェース、インタフェース・プロトコル・ルール、パスルールインターフェイス、インターフェイスとして考慮すべき多くの要因が存在します単一の原理は、インターフェイスは、フィルタリングおよびインターフェースの組み合わせと他の多くの要因が、この記事では、簡単にこれらの要因を分析します。

規範勧告

1.責任原則

インタフェースを設計するとき、インタフェースはインタフェースのタイプは、インタフェースがどのようなビジネス上の問題を解決する必要があることを、明確な責任である必要があります

2.団結の原則

インタフェース条件の明確な責任ではなく、3つ以上のインターフェース、シンプルであり、インタフェースだけ一つのことをしよう、と。多くの非インターフェースインターフェースの設計におけるシニアデザイナー、インターフェイスは常により多くの物事が行われていると考え、より多くの牛は非常に深刻な誤解である、交差。

3.プロトコル仕様

インタフェースを設計するとき、インターフェースプロトコルは明らかである、HTTPプロトコル、HTTPSプロトコル、またはFTPプロトコルを使用することで、特定の状況に基づくべきです。

  • FTPプロトコル(略してファイル転送プロトコル、FTP)、.txtなど、ファイル転送のための標準的なファイル転送プロトコルであり、.CSV FTPを使用して、他の一般的なファイル転送

  • 一般的な安全要件のためのHTTPプロトコルは比較的低いではないか、という要件のシナリオ

  • HTTPS = HTTP + SSL、ビジネスシナリオの高いセキュリティ要件に適しました

4.パスのルール

取得APIは、リソースはURLようにこれまでの名詞ではなく動詞として、であるため、

/api/v1.0/pruduct/2019/api/v1.0/users/2019

5.httpリクエストメソッド

インタフェースの基本的なアクセスプロトコルは:(取得)、ポスト(新)、PUT(修正)、削除(DELETE)を取得します

  • 取得/ユーザー:リストのすべてのユーザー

  • 取得/ユーザー/ ID:IDに基づいてユーザを取得

  • ポスト/ユーザー:新しいユーザー

  • PUT /ユーザー/ ID:ユーザーは、ユーザーIDを更新します

  • /ユーザー/ IDを削除します。ユーザIDに基づいてユーザの削除

6.ドメイン名

一般的には、メインドメインとドメイン固有のサブドメイン名、メインAPIまたは長期変化するビジネスにはあまり変わらないのドメイン名は、独自のドメイン名はアドレスの特定の独自事業であります

Baiduは、例えば:

(1)プライマリドメイン名:www.baidu.com

(2)商品やサービスのカテゴリ

  • Baiduのライブラリます。https://wenku.baidu.com/

  • Baiduは知っています。https://zhidao.baidu.com/

  • Baiduの情報します。https://zhidao.baidu.com/

(3)市場活動クラス

  • Baiduのパブリックます。http://gongyi.baidu.com

  • 百度logo:http://logo.baidu.com/

  • Baiduの世界ます。https://baiduworld.baidu.com

クロスドメインを考えてみましょう7.

ドメイン名の明確なケースでは、インターフェイスのクロスドメインおよびクロスドメイン技術が使用されるべきかどうかを検討し、そうでなければなりません。

8.apiバージョン

URLのインターフェースは、v1.0を、V2.0のように、dはバージョン番号を表すバージョン番号http://api.demo.com/v{d}/、例えば、に追加する必要があります

例:製品番号2019を取得し、バージョン番号はv1.0の製品情報のバージョン番号です

/api/v1.0/Pruducts/2019

9.適度なフィルタリング情報

比較的長いデータ条件に起因するレコードの数(例えば、TBNAME SELECT * FROM)、例えばTOP、ページングなど、いくつかのフィルタリングを追加するために、適切な時間、グループ化、ソート条件WHERE

ここではいくつかの共通のパラメータがあります。

  • ?リミット= 100:100のを返すデータ

  • ?101 =オフセット:第101条からデータを返す開始

  • ?ページ= 10:10ページを参照してください。

  • PER_PAGE = 100:データページ100

  • ?SORTBY =名前:ソートフィールド

  • ?注文= DESC:降順

  • ?グループ=グループ名:グループ

  • ?Producy_type = 1:フィルタ

10.戻りデータ・フォーマット

一般的に3つのフィールドを含む戻りデータ・フォーマット、:

(1)障害(ステータスコード、エラーコード及びエラーの説明)

5144b02e3fe14a5995108b26b449e0e7

(2)成功した​​場合(識別ID、データ・オブジェクト、ステータスコード)

85b29000107845e98eb5c33a97a70fdd

11.セキュリティポリシー

インタフェース露光考慮事項、インタフェースの同時実行の考慮事項、インタフェース抗 - ***考慮事項、例えばクロスドメインのインターフェイスとして考察

12.拡張性の原則

インタフェースを設計するとき、完全に拡張インターフェースを検討します。

13.制限APIの定義

任意のAPIは、当局から、匿名と非匿名API APIに起因することができ、前者は検証が必要で認証を必要としません

14リターンコード定義されたAPI

設計APIでは、優れたリターンコードを設定するためのAPIなど、

  • 1--ライセンスの有効期限が切れました

  • 404--リソースが見つかりません

  • 500--内部サーバーエラー

  • 600--アカウントがロックされ、

2つの抗規範勧告

ビジネスシナリオがあります:同様の動作シナリオの下で、インタフェースAPIの複数の組み合わせの結果を返すために、インタフェースの必要性は、インターフェイスのデザインは、いくつかの抗規範を持っています。

1.Request

9b089bc6f15645b0bada310e9698dba1

2.Responce

f72c762a268245aaa2d630cf4ae457f2

三つの例

ERPシステムでは、二つのインターフェースを提供する必要性、ユーザ・アクセス・インタフェース(認証が必要)、(確認なし)他のユーザ登録インターフェース:つのトラフィックが存在すると仮定する。

この記事によると、私たちは会うのビジネスニーズへのインタフェースを設計し、二つの部分をお勧めします

(A)団結のパラメータを定義します

1.統一された入力パラメータを定義します

78797c6a9c004a19a98d5b2052889a3f

2.統一出力パラメータを定義します。

549a35e124634ffe89dc276205cf6709

3.統一エラーコードを定義します。

65cbb1e0e9ba4843962cb8d71c1646c9

(B)界面許可カテゴリを定義

次のカテゴリの権限は、インタフェースを定義しました

38b0067b685b4158a6b68d287b23da55

(C)ユーザインタフェース

1.ユーザー登録

6c959cd9ff6048e5869be42f7ce9516a

2.Request

75338370e31c4ceb8f62136bde0d01ff

3.Responce

8e36d447803c495292bfcda71feb9423

4.code例

0a56f78f7bc84ed992820baee5922c80

(D)ユーザがログイン

1.ログインインターフェイスの概要

49ce571625114a89ad785afdea49e00c

2.Request

0f5618c4f82a48e58d2a36f250d710a2

3.Responce

19abad66c1844524b3dc9c736d1da43f

4.Code

b688016c5a0c407aa1e090a2c59ce4ab



おすすめ

転載: blog.51cto.com/14455981/2471992