をヘッダにそれを設定する方法、保証、私は、身体{username:"somename", password:"somepass"}
とPOST
要求、私に生成されたトークンと応答を与える ヘッダContent-Type:application.json
との認証を実行する必要が2番目のヘッダとしてペーストする必要があります。さらなるリクエストのためにAuthorization:generated-tokenkjhsdkjfvjbwjbQ==
のようなsmthがあります。 お手伝いできますか。レストは、POST要求の後の応答本体から生成されたトークンを抽出し、任意の要求を実行
答えて
バリアント:
String token = given()
.contentType("application/json")
.body(new User("someuser" , "123"))
.when()
.post(RestConfig.baseUrl+"/authentication-url")
.then().extract().response().as(TokenResponse.class).getToken();
given()
.contentType("application/json")
.header("Authorization", token)
.get(RestConfig.baseUrl+"/some-path")
.then()
.statusCode(200)...
私は認証トークンを前後に渡さなければならない同様の要件を持っていましたが、これは春休みテンプレートではありません。その目的のために、私は応答時にトークンを取得し、要求時にヘッダーとして設定するクライアントフィルターを使用しました。仕事をすることができる安心して似たようなものがあるかどうか検索することができます。ここ が保証https://github.com/rest-assured/rest-assured/wiki/Usage
カスタム認証
残りはカスタム認証プロバイダーを作成することができ、サンプルです。 io.restassured.spi.AuthFilterインターフェイスを実装して(好ましくは)フィルタとして適用することでこれを行います。たとえば、「AUTH」という新しいヘッダーに2つのヘッダーを一緒に追加することでセキュリティが保護されているとしましょう(これはもちろん安全ではありません)。次に、この(Javaの8シンタックス)のようなことを行うことができます。。
given().
filter((requestSpec, responseSpec, ctx) -> {
String header1 = requestSpec.getHeaders().getValue("header1");
String header2 = requestSpec.getHeaders().getValue("header2");
requestSpec.header("AUTH", header1 + header2);
return ctx.next(requestSpec, responseSpec);
}).
when().
get("/customAuth").
then().
statusCode(200);
あなたが認証フィルタを使用してフィルタしないようにしたい理由は、()与えられ行う際AuthFiltersが自動的に削除されるということであるAUTH()なし( )。 ...
私は質問を誤解することができますが、私はそれから取得していたものから、私はこのような何かが動作するはずだと思う:
String token =
given().
header("Content-Type", "application/json").
body(/* body content goes here */).
when().
post(/* route goes here */).
then().
extract().path("token").toString()
// the above path arg depends on the response you get from the call.
その後、次の呼び出しはのようになります。
given().
header("Content-Type", "application/json").
header("Authorization", token).
when()...etc.
具体的な内容の一部はAPIに依存しますが、私はこの形式を常に使用しています。多くの場合、ユーザーIDやトークンなどの応答を取得し、将来の呼び出しに使用します。残りの部分で抽出する上
詳細情報は、ドキュメントを保証:私のために働いたhttps://github.com/rest-assured/rest-assured/wiki/Usage#extracting-values-from-the-response-after-validation
- 1. SAML要求の生成とWebブラウザの応答からのSAMLトークンの抽出
- 2. Jerseyで本体要求のPOST JSON
- 3. POST要求本体で改行が削除されましたか?
- 4. lwp-request in shell:本体にPOST要求を出す方法は?
- 5. Firebase:http POST要求に応答する
- 6. 要求応答後の本文の奇妙な文字
- 7. retrofit2の投稿要求を作成中に、応答本体がnullです
- 8. 応答後の即時要求
- 9. PATCH要求への応答
- 10. POST API要求に対して複数の応答を返す
- 11. JMeterからのPOST要求
- 12. 春要求応答は
- 13. node任意の要求に対してindex.htmlで応答するhttp-server
- 14. Retrofit Post要求がサーバーのAndroidからの応答を取得しない
- 15. POST要求本体のすべての要素は必須ですか?
- 16. サーバー要求なしで応答する$ http要求と応答を返す
- 17. AFHTTPClientを使用したPOST要求の本体としてのJSONの投稿
- 18. PythonでのPOST要求の連続的な応答を取得
- 19. NodejsのPOST要求(Amazon SNS)本体を取得する
- 20. 要求されたDLLの実行レベル
- 21. wsdl4jを使用したwsdlからのSOAP要求の抽出
- 22. CでFastCGIを使用してPUTまたはPOST要求の本体にアクセス
- 23. HTTP POST要求本体がコード400を返します
- 24. タイムアウト後にExpressJSサーバーのPOST要求への応答を更新する方法
- 25. "要求"応答のjson()がUnicodeEncodeErrorを発生させます
- 26. ユニットテストWCF Soap応答要求/応答
- 27. ASP.NET - 要求/応答の後に偽造防止トークンを無効にする
- 28. NSURLSession要求と応答
- 29. JMS要求/応答パターン(grails)
- 30. ダブルAJAX要求応答
おかげで、フィルタを調査しようとして、残りの保証であり、どのように私はそれを使用することができます – Iriny