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)으로 바꾸어보십시오. 그것은 당신이 받고있는 오류를 처리해야합니다.

당신은 또한이 같은 뭔가를 리팩토링 수 있도록 또한, jsonPath 지원 (어떤 get() 메소드가 리턴입니다) 응답 클래스 : 나는 (JP)에서에 (응답) 변경

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

하지만, 오류가 계속 발생합니다. 두 번째 옵션은 작동했지만 제 의도는 get 메소드와 별도로 json 경로를 파싱하는 것입니다. –

+0

다른 질문 같아 보입니다. 이 질문에 대해 - 내 대답이 "원래 이름의 모든 값 목록을 만드는 간단한 방법 _"에 대한 원래 질문에 대한 대답이라고 생각하면 부탁을 들어 답을 수락하십시오. 그런 다음 새로운 질문을 올리면 다음 문제를 해결할 수 있습니다 :) – HaC

+0

괜찮습니다. 고맙습니다 –