2017-11-20 9 views
3

リソースごとにアクセス制限があるRESTサービスがあります。条件付きで応答を返すSpring REST DocsでRESTサービスを文書化するには?

GET /記録/ {レコードID}

レコードごとにアクセス数が定義され、制限に達したとき、それは例外を返しますのは、私は以下のサービスをしたとしましょう。

私は、アクセス制限が5のレコードを作成してから、mockMvc経由でリクエストを送信するループを作成する統合テストを作成しました。

Spring REST Docsのサンプルを見ると、テストの直後に.andDo(...)が追加され、テスト用のスニペットが作成されています。私はそれが同じテストのスニペットを上書きするのではないかと心配しています。リソースにresourceIdごとにアクセス制限があることを文書化し、リソースがアクセス可能でアクセス制限に達したときの例を提供します。

これらのケースで2つのドキュメントIDを使用する必要があります(下記を参照)。これは正しいアプローチですか?

答えて

0

はい、私は間違いなくこの2つのケースで2つの異なるドキュメントIDを使用して、両方のスニペットを取得します。

これは必ずしも必要ではありませんが、最初の呼び出しでは成功し、最後の呼び出しでは制限に達すると予想されたときに1回、ドキュメントをループ内で2回呼び出すことを検討することもできます。

+0

こんにちはAndy、私はmock mvc環境であるため、エラー応答を記録できません。 RANDOM_PORTを試してTestRestTemplateを使ってみましたが、その場合document()は単に何も生成しません。 mockMvcResultが必要なように見えます。何か案は? – tunix

+0

Spring REST DocsとREST Assuredの併用を検討することができます。これにより、実際のサーバーにHTTPリクエストを行うことでAPIを文書化することができます。 –

+0

REST AssuredとTestRestTemplateの違いは何ですか?私はTestRestTemplateも要求をしていたと思った。 – tunix

関連する問題