Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest JSON路径没有';不匹配_Rest_Api_Rest Assured - Fatal编程技术网

Rest JSON路径没有';不匹配

Rest JSON路径没有';不匹配,rest,api,rest-assured,Rest,Api,Rest Assured,我试图从正文中验证google place搜索api lat值。但我得到的JSON路径和异常不匹配 在这里我分享了json格式的截图和代码。请解释我在哪里犯了错误 RestAssured.baseURI="https://maps.googleapis.com"; given(). param("input","Museum%20of%20Contemporary%20Art%20Australia"). param("inputtype","textquery"

我试图从正文中验证google place搜索api lat值。但我得到的JSON路径和异常不匹配

在这里我分享了json格式的截图和代码。请解释我在哪里犯了错误

RestAssured.baseURI="https://maps.googleapis.com";
given().
        param("input","Museum%20of%20Contemporary%20Art%20Australia").
        param("inputtype","textquery").
        param("fields","photos,formatted_address,name,rating,opening_hours,geometry").
        param("key","<MYAPIKey>").
        when().
        get("/maps/api/place/findplacefromtext/json").
        then().assertThat().statusCode(200).and().
        body("candidates[0].geometry.location.lat",equalTo("-33.8599358"));

我刚刚将参数值替换为

param(“输入”,“澳大利亚当代艺术博物馆”)

而不是

参数(“输入”,“博物馆%20,共%20当代%20艺术%20澳大利亚”)


工作正常。

我不确定,因此我将其添加为注释。您尝试将
double
String
进行比较。将您的
equalTo()
方法参数更改为
double
@Fenio谢谢您的评论。我找到了解决方案并发布了我的答案。现在它工作正常。
Exception in thread "main" java.lang.AssertionError: 1 expectation failed.

JSON path candidates[0].geometry.location.lat doesn't match.

Expected: -33.8599358

Actual: null

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
    at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)
    at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:84)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
    at io.restassured.internal.ResponseSpecificationImpl$HamcrestAssertionClosure.validate(ResponseSpecificationImpl.groovy:471)
    at io.restassured.internal.ResponseSpecificationImpl$HamcrestAssertionClosure$validate$1.call(Unknown Source)
    at io.restassured.internal.ResponseSpecificationImpl.validateResponseIfRequired(ResponseSpecificationImpl.groovy:636)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
    at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
    at io.restassured.internal.ResponseSpecificationImpl.content(ResponseSpecificationImpl.groovy:265)
    at io.restassured.specification.ResponseSpecification$content$1.callCurrent(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:190)
    at io.restassured.internal.ResponseSpecificationImpl.body(ResponseSpecificationImpl.groovy:248)
    at io.restassured.internal.ValidatableResponseOptionsImpl.body(ValidatableResponseOptionsImpl.java:268)