我目前正在使用Rest Assured调用一个API,其响应正文如下所示。我需要选择响应的一部分,即整个WorkItems标记(第3行),并更新字段“CorrelationUId”和“Value”(WorkItemAttributes标记中的节点),这些字段的值需要设置为唯一值。
更新后的JSON将作为另一个API的主体。我如何使用放心和java来实现这一点?
{
"TotalRecordCount": 1,
"BatchSize": 500,
"WorkItems": [{
"CreatedByApp": "IssueManagement",
"ItemState": 1,
"StackRank": 0,
"CorrelationUId": "05c0df91-cd6f-4f74-8e19-0be556879e59",
"RowStatus": null,
"WorkItemDeliveryConstructs": [{
"CreatedByUser": "Gateway",
"ItemState": 0
}
],
"WorkItemLanguages": null,
"WorkItemProductInstances": [{
"ModifiedOn": "2020-08-05T05:01:15.335316Z",
"UserUId": null,
"ItemState": 0
}],
"WorkItemAssociations": null,
"WorkItemAttachments": null,
"WorkItemAttributes": [{
"IdValue": "00000000-0000-0000-0000-000000000000",
"IdExternalValue": "",
"Value": "enter unique data here",
"ItemState": 0
},
{
"IdValue": "00000000-0000-0000-0000-000000000000",
"IdExternalValue": "",
"Value": "",
"ItemState": 0
}
]
}],
"Faults": [],
"StatusCode": 0,
"MergeResult": null
}
下面是上面的代码片段。
RequestSpecification request = RestAssured.given();
request.header("Content-Type", "application/json")
JSONObject requestParams = new JSONObject();
requestParams.put("data", Property.getProperty("data"));
Response response = request.post(url);
JsonPath js = response.jsonPath();
JSONObject responseObject = new JSONObject(response.jsonPath().getJsonObject("WorkItems"));
Configuration configuration = Configuration.builder().jsonProvider(new JacksonJsonNodeJsonProvider()).mappingProvider(new JacksonMappingProvider()).build();
DocumentContext json = JsonPath.using(configuration).parse(jsonString);
String jsonPath = "WorkItems.CorrelationUId";
String newValue = "newCorrelationUId";
System.out.println(json.set(jsonPath, newValue).jsonString());
添加了下面的依赖关系与Rest保证。但是,我得到导入冲突与jayway依赖"导入io.restassured.path.json.JsonPath与另一个导入语句冲突"
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>
下面的片段帮助我更新节点值并使用Jayway选择整个json的一部分
DocumentContext json = JsonPath.using(configuration).parse(file);
String jsonPath = "WorkItems[0].WorkItemAttributes[0].Value";
String newValue = "new title";
DocumentContext finaljson = json.set(jsonPath, newValue);
DocumentContext context = JsonPath.parse(finaljson.jsonString());
HashMap<String, Object> requiredpartofJson= context.read("WorkItems[0]");
问题内容: 我通过ajax将某些表单数据发送到同一页面中的php脚本。PHP必须处理数据并在同一页面上显示结果。 我正在为ajax使用以下语法: 我基本上是在尝试根据表格中输入的数据并由php脚本处理后的数据来更新图表中的某些值。执行此操作后,我会获得页面的整个来源,并且在执行此操作后会在控制台中更新值,但图表不会更新。当我查看源页面时,值保持不变。我该怎么办? 这是我的updatechart()
我有一个用Java编写的Spring Boot应用程序,它是一个REST API。该服务(Svc A)调用REST API服务(Svc B),该服务也是用Java编写的Spring Boot应用程序。当没有找到数据时,Svc B返回404状态码。我需要将此响应更改为200状态代码,并返回一个空响应对象。我不确定是否或如何做到这一点。 我可以捕捉错误,并确定404是否是这个没有数据发现的错误。但是,
问题内容: 我正在尝试使用来自ajax html响应的内容更新div。我相信我的语法正确,但是div内容已替换为整个HTML页面响应,而不仅仅是html响应中选择的div。我究竟做错了什么? 问题答案: 您正在设置HTML格式的内容,然后将其替换为本身,这没有多大意义? 我猜你真正在哪里寻找返回的数据,然后用ajax调用中的html用html 更新DOM中的元素:
我正在使用WebFlux和WebClient,需要使用两个API并合并其响应。 第一个API接收类型和文档编号并返回一个列表,其中包含一个包含客户数据的元素(这就是它的定义方式)。 第二个API接收客户id并返回客户付款列表。 我需要使用这两个API并返回一个包含客户数据及其付款的实体。 API客户响应 API付款响应 最后我应该吃这个 CustomerResponse.java 我有一个代理类负
我正在使用验证json模式。如果响应主体具有文件 如果响应正文有未在json模式中定义的EXTRA变量/值,则不会失败。如何使这个测试用例失败? 例如: 下面是具有预定义 JSON 架构的响应正文。 如果响应正文给出了额外的值,例如电子邮件/电话,那么它仍然在传递。我需要让它失败。这是我的测试用例,如果响应正文返回额外值,则失败。如何验证此测试用例?
问题内容: 我正在学习Python,并尝试在下拉菜单上将该页面抓取为特定值。之后,我需要单击结果表上的每个项目以检索特定信息。我可以选择该项目并在网络驱动程序上检索信息。但是我不知道如何将响应URL传递给crawlspider。 这就是我被困住的地方。我能够使用上面的代码进行查询。但是,如何将 resp_for_scrapy 传递给 crawlspider ?我把 resp_for_scrapy