2017-10-03 3 views
0

webservice:http://services.groupkt.com/country/search?text=landsには、GET要求から返された16レコードがあります。レコードには、「名前」というパラメータがあります。したがって、16の名前があり、それぞれの名前は固有の値(国)を持ちます。私の意図は、javaとRESTassuredライブラリを使用して 'name'パラメータの16個の値すべてをリストすることです。私はこれを試してみました:JavaでRESTassuredライブラリを使用してノード内のパラメータを一覧表示

Response response = RestAssured.get("http://services.groupkt.com/country/search?text=lands").andReturn(); 
String json = response.getBody().asString(); 
JsonPath jp = new JsonPath(json); 

List<String> ls = from(response).getList("RestResponse.result.name");// The 'from' text displays an error 

エラーが「から」テキストの上に見られ、それは言う:タイプRestTestで(文字列)からのメソッドは、引数(応答)には適用されません。私はどのようにこれを修正するか分からない。 'name'パラメータのすべての値のリストを作成する簡単な方法はありますか?

答えて

0

from(response)from(jp)に交換してください。それはあなたが得ているエラーを処理する必要があります。

レスポンスクラス(何get()メソッドの戻りである)もjsonPathをサポートしていますので、あなたもこのような何かにそれをリファクタリングできます。私は(JP)からの(応答)から変更

List names= get("http://services.groupkt.com/country/search?text=lands").jsonPath().getList("RestResponse.result.name"); 
+0

が、エラーは依然として続きます。あなたが提供した2番目のオプションは機能しましたが、私の意図はgetメソッドとは別にjsonパスを解析することです。 –

+0

これは別の質問のようです。あなたは私の答えがあなたの元の質問に答えてくれたと思うのですが、「名前のパラメータのすべての値のリストを簡単に作成できます」と頼んで答えを受け入れてください。その後、新しい質問を投稿し、次の問題を解決します:) – HaC

+0

それは問題ありません。ありがとうございました –

関連する問題