Api-blueprint: すべてのリクエストに共通のURLパラメータ

作成日 2015年09月30日  ·  8コメント  ·  ソース: apiaryio/api-blueprint

やあ、

私たちのAPIでは、クライアントがすべてのリクエストにクエリ文字列としてapiKey、署名、タイムスタンプを追加する必要があります

したがって、このようなすべてのリソース定義でこのクエリ部分を繰り返す必要があります

## Client [/clients/{id}?apiKey={apiKey}&signature={signature}&timestamp={timestamp}]

次にパラメータ

+ Parameters
    + apiKey (required, string, `2961654ce6c3d01c79edc98c8d930d4cc663cda4`) 
    + signature (required, string, `213213jjflkjdsfl343k4jjfdsdsf`) 
    + timestamp (required, integer, `1443620910`) 

コレクションと単一のリソースで動作するエンドポイントがあるため、これをすべてのグループに少なくとも2回コピーして貼り付けてから、いくつかの追加のクエリパラメータを使用するURLテンプレートを変更する必要があります

リソースグループがたくさんある場合、これは非常に面倒になります。別の一般的な必須クエリパラメータを追加する場合は、すべてを更新する必要があります。

ブループリントドキュメントの上部にいくつかのcommonParamsセクションを追加することをお勧めします。そうすれば、これらのパラメーターがすべてのリクエストに適用されます。

最も参考になるコメント

これに関する更新はありますか?

Parameters Attributesように機能させることで、一元化されたdata-structures.mdから単純な継承を実行できるため、ブループリントのコードベースがはるかに保守しやすくなります。

全てのコメント8件

こんにちは@bazo 、これは現在サポートされていませんが。 https://github.com/apiaryio/api-blueprint-rfcs/pull/3(https://github.com/apiaryio/api-blueprint-rfcs/blob/zdne/mson- )でこれに関する提案があります。 parameters /draft/mson-parameters-headers.md#parameters)。 これは計画された機能です。

他のパラメータを参照して継承できる場所。

# Resource [/resource/{client}{?signature,apiKey,timestamp}]
+ Parameters (Authentication)
    + client: foo

# Data Structures
## Authentication (Parameters)
+ apiKey: 2961654ce6c3d01c79edc98c8d930d4cc663cda4 
+ signature: 213213jjflkjdsfl343k4jjfdsdsf
+ timestamp: 1443620910 (integer)

私は彼がここで良い質問をしていると思います:

したがって、このようなすべてのリソース定義でこのクエリ部分を繰り返す必要があります

@zdneどう思いますか? uriテンプレートの繰り返しについて何かできますか?

私は本当にこの問題を再開したいと思っています。 この問題は、複数のリソースに共通のパラメーターを定義することに関するものであり、MSONスタイルの構文を使用することに関するものではないと思います。

@zdneあなたがこれについて意見を提供することができれば本当にそれを愛するでしょう。

ある種のカスタム認証スキームでこれらを定義できることが理想的です。 https://github.com/apiaryio/api-blueprint-rfcs/blob/kylef/authentication-oauth2/draft/authentication-oauth2.mdに似てい

それらが認証関連のパラメーターであれば問題ありません。 pageper_pageなどの他のパラメータについて話しています。基本的にすべてのリソースに使用できるものなら何でも。

これも使用します。

@ kylef 2015年10月1日のコメントで参照したリンクは機能しなくなりました。 すべてのエンドポイントにOAuth2ベアラートークンが必要であることを指定する便利な方法に関するアドバイスをいただければ幸いです。

これに関する更新はありますか?

Parameters Attributesように機能させることで、一元化されたdata-structures.mdから単純な継承を実行できるため、ブループリントのコードベースがはるかに保守しやすくなります。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

alronlam picture alronlam  ·  4コメント

fh-thudson picture fh-thudson  ·  3コメント

Perni1984 picture Perni1984  ·  6コメント

teja5429 picture teja5429  ·  9コメント

AlexKorovyansky picture AlexKorovyansky  ·  4コメント