インターフェース設計書を共有する際の12の注意点
はじめに
私たちはバックエンド開発を行っており、インターフェイス ドキュメントを定義する必要がよくあります。
最近 インターフェイス ドキュメントのレビュー を行っていたとき、小規模パートナーによって定義された パラメータが列挙値 であることがわかりましたが、インターフェイス ドキュメントには 対応する特定の列挙値 。実際、インターフェイスドキュメントをうまく書く方法は非常に重要です。今日は、Tianluo 兄弟がインターフェイス設計ドキュメントに関する 12
の注意点をお届けします~
urlでは、インターフェイスの機能が見える必要もあります。たとえば、
ユーザー情報のクエリ (queryUserInfo) は、適切なインターフェイス名 です。
URL アドレスとも呼ばれます。つまり、他の人があなたのインターフェースを呼び出すときに
URL が使用されるということです。たとえば、
/api/user/queryUserInfo は
インターフェイス アドレス です。ただし、ここで言いたいのは、これは完全なインターフェイス アドレスではないということです。インターフェイスは HTTP という名前ですか?
HTTP が呼び出された場合、
ドメイン名 は何ですか? ###ポート###。適切な http インターフェイス アドレスは次のようになります:
3. インターフェイスのリクエスト メソッドは正しいですか?
GET: リソースを取得するためサーバーから、
URL- でパラメータを渡すことができます。これは通常、データのクエリに使用されます。
POST: データをサーバーに送信します。通常、追加、変更、削除などの操作に使用されます。
PUT: リソースをサーバーに更新します。通常はデータの更新に使用されます。 - DELETE: サーバーからリソースを削除します。通常はデータの削除に使用されます。
- PATCH: サーバーのリソースを部分的に更新します。通常は一部のデータを変更するために使用されます。
- HEAD:
- GET リクエストと似ていますが、エンティティのコンテンツではなく応答ヘッダーのみを返します。通常、リソースのメタ情報を取得するために使用されます。
オプション: サポートされているリクエスト メソッドとその他の情報を返すようにサーバーに要求します。通常、クライアントとサーバーがリクエスト メソッドをネゴシエートするために使用されます。
- インターフェイス ドキュメントを定義するときは、インターフェイスのリクエスト メソッドがどれであるかを明確に記述する必要があります。通常の状況では、 POST と GET
POST を使用する企業もあります。
インターフェースを定義するとき、リクエスト パラメータは
。修飾されたインターフェイス ドキュメントの場合、リクエスト パラメーターには次の 8 つの要素が含まれている必要があります。
パラメーター名: パラメーターの名前は、userId
のようにキャメル ケースで付けられます。- Type:
String、Integer
などのパラメータのタイプ。 - Required: リクエスト パラメータが必須かどうか。必要な場合、アップストリームがこのパラメータを渡さない場合、パラメータ検証例外がスローされる必要があります。
デフォルト値: このパラメータが渡されない場合、デフォルト値はありますか、またデフォルト値は何ですか。
- 値の範囲: Long、Integer
- などの数値型の場合は、列挙型の場合は 1~10
- などの範囲値になります。 value、これは、
ACTIVE、INACTIVE
などの列挙範囲です。パラメータ形式: たとえば、パラメータが日付の場合は、
yyyyMMdd
- などのパラメータ形式を指定する必要があります。入力パラメータの値の例: 例を提供します。応答パラメーターの値。これにより、開発者はこのパラメーターをよりよく理解し、使用できるようになります。
備考: この入力パラメータ フィールドに
特別な指示 - がある場合は、この列で説明できます。特に説明がなければ、このパラメータの機能を説明するだけで大丈夫です。
- 以下はパラメータを入力するためのサンプルドキュメントです :
タイプ | 必須かどうか | デフォルト値 | 値の範囲 | パラメータ形式 | 入力パラメータ値例 | 備考(説明) | |
---|---|---|---|---|---|---|---|
Long | は | #0L | 0~99999999L | なし | 666L | UserId | |
文字列 | は | 19900101 | 19900101~20231231 | yyyyMMdd | 19940107 | ユーザーの誕生日 |
##5. 応答パラメータの 7 つの主要要件
応答パラメータは実際には次のとおりです。入力パラメータと同様に、7 つの要素があります:
パラメータ名: 応答パラメータの名前を記述します。- パラメータ タイプ: String、Integer
- などの応答パラメータのデータ タイプを記述します。
パラメータ形式:
yyyy-MM-dd、HH:mm:ss - などの応答パラメータのデータ形式を記述します。
パラメータの説明: 応答パラメータの意味の詳細な説明。
- 値の範囲: 整数範囲、文字列長
- などの応答パラメータの値の範囲を説明します。 Required: 応答パラメータが必須かどうかを説明します。
- サンプル値: 開発者がこのパラメーターをよりよく理解して使用できるように、この応答パラメーターのサンプル値を提供します。
- 違いは、応答パラメーターが通常
: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>{
"code": 0,
"message": "success",
"data": {
"name": "Tom",
"age": 20,
"gender": "男"
}
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
6 の形式で返されることです。インターフェイス エラー コード
優れたインターフェイスドキュメントには、エラーコードの列挙が含まれている必要があります。一般的なエラー コード定義には 3 つの列が含まれます:
エラー コード、エラー コード情報、意味意味 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
不正なリクエストパラメータ | 1002 | |||||||||
指定されたユーザー ID に基づいて、対応するユーザー情報が見つかりませんでした | 1003 | データベース エラー | ||||||||
日期 | 变更描述 | 操作人 |
---|---|---|
2023-04-16 | 创建接口文档,定义了第一版接口文档 | 捡田螺的小男孩 |
2023-04-18 | 修改接口文档,增加了错误码,出参等 | 田螺哥 |
10.明确请求头有哪些
接口文档,是需要写清楚的请求头的。接口文档的请求头可以看到以下的信息:
- Content-Type:指定请求体的数据格式,如
application/json、application/x-www-form-urlencoded、multipart/form-data
等。 - Authorization:用于身份验证的令牌信息,如
Token、Bearer
等。 - Accept:指定客户端可以接受的响应数据格式,如
application/json、text/html
等。 - User-Agent:指定客户端的类型和版本信息,可以用于服务端进行针对性优化。
- Accept-Encoding:指定客户端可以接受的数据压缩格式,如
gzip、deflate
等。 - Cache-Control:指定客户端缓存的策略,如
no-cache、max-age
等。 - Cookie:包含客户端发送给服务器的
cookie
信息。
这是是一个接口文档的请求头的示例:
POST /api/user HTTP/1.1 Host: example.com Content-Type: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c Accept: application/json User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Accept-Encoding: gzip, deflate, br Cache-Control: no-cache Cookie: _ga=GA1.2.1234567890.1234567890; _gid=GA1.2.0987654321.0987654321 If-None-Match: W/"2a-3TjT7VaqgkT1nJdKjX9Cpijp2FA" Referer: https://example.com/login Origin: https://example.com Content-Length: 43 {"name": "John Doe", "age": 25, "email": "john.doe@example.com"}
11 接口请求示例
接口文档,需要提供接口的使用案例:以方便开发者理解接口的使用方法和调用流程。
12. 接口测试
一般来说,接口文档需要完善:接口测试的方法和测试结果,以便用户可以测试接口是否符合自己的需求,让用户用得放心~哈哈
以上がインターフェース設計書を共有する際の12の注意点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。
