当前位置: 首页 > 知识库问答 >
问题:

使用post http方法时,我无法发布Add Place API

巫马化
2023-03-14

io。重新发行。路径json。例外JsonPathException:无法解析JSON文档

它在为这些功能文件步骤编写的代码中引发错误:

  Given  Add new location with "<name>" "<language>" "<address>" parameters
  Then  user calls "AddPlaceAPI" with http "POST" method  
  Then  API successful response with "status" as "OK"

这些步骤的步骤定义代码

     @Given("Add new location with {string} {string} {string} parameters")
    public void Add_new_location_with_three_parameters(String name_G,String address_G,String language_G) throws IOException {
        res=given().spec(requestSpecification())
                .body(data.googleAddPlace(name_G,address_G,language_G));

    }
    @Then("user calls {string} with http {string} method")
    public void user_calls_with_http_method(String resource_G,String http_method)
    {
        APIResources resourceAPI = APIResources.valueOf(resource_G);
        System.out.println("Resource value" + resourceAPI.getResource());
        resspec =new ResponseSpecBuilder().expectStatusCode(200).expectContentType(ContentType.JSON).build();
        if(http_method.equalsIgnoreCase("POST"))
                response= res.when().post(resourceAPI.getResource());

        else if(http_method.equalsIgnoreCase("GET"))
                response= res.when().post(resourceAPI.getResource());
    }


    @Then("API successful response with {string} as {string}")
    public void api_successful_response_with_as(String string, String string2) {
        // Write code here that turns the phrase above into concrete actions

        assertEquals(getJsonPath(response,string),string2);
    }

getJsonPath抛出错误的方法定义

public String getJsonPath(Response response,String key)
    {
            String resp=response.asString();
            JsonPath   js = new JsonPath(resp);
            return js.get(key).toString();
        }

在此处输入图像描述JUnit错误日志

io。重新发行。路径json。例外JsonPathException:无法在io解析JSON文档。重新发行。路径json。JsonPath$ExceptionCatcher。在io上调用(JsonPath.java:1002)。重新发行。路径json。JsonPath 4美元。io上的doParseWith(JsonPath.java:967)。重新发行。路径json。JsonPath$JsonParser。io上的parseWith(JsonPath.java:1047)。重新发行。路径json。JsonPath。在参考资料中获取(JsonPath.java:202)。Utils。步骤定义中的getJsonPath(Utils.java:56)。步骤定义。api_successful_response_with_as(stepDefinition.java:117)at✽.API成功响应,状态为“OK”(file:///C:/Users/gaura/eclipse-workspaceNew/APIFramework/src/test/java/features/googlemapsValidation。特点:6)原因:groovy。json。JsonException:Lexing在读取'


共有1个答案

宰宣
2023-03-14

我尝试在pom中为所需的jar文件组合以下版本。xml文件和它的工作对我来说很好。您也可以尝试同样的方法:

  1. JUnit-版本:4.1.2
 类似资料:
  • 问题内容: 我正在尝试使用express创建一个简单的表单处理程序。我为表单尝试了以下代码: 这是我的app.js代码: 提交表单后,我不断收到错误消息“ CANNOT POST /”。我是否缺少类似模块的内容? 问题答案: 这样你应该尝试 您将来应该记住的事情参考: 您将url编码扩展为true 您没有任何要求获取表格的请求 您正在使用HTML命名变量,这是不良做法之一 谢谢与欢呼

  • 嗨,我试图张贴数据与AngarJs,但有一些问题。我的js代码如下: 我得到这个错误和当我改变代码喜欢这个然后我得到了这个错误。 无法发布到登录。html页面。这是我在AnguarJs上的第一个项目,所以不太熟悉。谢谢

  • 我正在尝试根据下面的代码提出帖子请求: 此请求不需要身份验证,也不需要登录和密码。在邮递员那里,我可以成功地提出请求,但当我尝试执行上述代码时,我得到了: 401未经授权 我在邮递员那里模拟了错误,它给了我下面的信息: 当我在Postman中将身份验证方法更改为“No Auth”时,请求运行良好。 我想我必须在代码中设置这个选项“No Auth”,但我不知道如何设置。 我这样做: 但错误仍在继续。

  • 我试图发布一个Webforms网站,注意到bin文件夹包含“roslyn”子文件夹。 经过研究,似乎删除2个金块包可以解决这个问题。 问题是删除包不起作用。 我尝试了Nuget包管理器控制台: 我还尝试更新 web.config(并删除引用): 我在发布时仍然会得到“roslyn”文件夹。此问题是否可能是因为Visual Studio解决方案是在VS的早期版本中创建的,但web项目是在VS2015

  • 我有ASP.NETCore C#web应用程序。我做了一些现在使用C#7.1功能的更改。我更改了项目版本,因此它可以编译和运行。但是,当我尝试发布项目时,我收到了一个错误: C# 7.0中没有“默认文本”功能。请使用语言版本7.1或更高版本。 我看到的编译命令是: 正如其他地方建议的那样,我安装了(v2.6.1),但没有任何区别。 是否有专门影响发布的 Visual Studio 设置? 更新:看

  • 可以使用方法从服务器获取数据,使用方法将数据发布到服务器吗?