我是新手,请放心。目前,我正在使用放心的API自动化。我有以下方案要处理
我们有两个 API(例如:API1、API2),API1 会给出用户详细信息的列表。我需要将这些详细信息作为第二个 API 请求的一部分发送。
API1 -响应
[ {
"userSourceMeta" : {
"userId" : "xyz@gmail.com",
"source" : "BOX",
"organisationId" : 1,
"emailId" : "xyz@gmail.com",
"sourceUserId" : "16231222289",
"sourceTeamId" : null
},
"connectionStatus" : null
}, {
"userSourceMeta" : {
"userId" : "xyz@gmail.com",
"source" : "DROPBOX",
"organisationId" : 1,
"emailId" : "xyz@gmail.com",
"sourceUserId" : "88888222768",
"sourceTeamId" : null
},
"connectionStatus" : null
}, {
"userSourceMeta" : {
"userId" : "xyz@gmail.com",
"source" : "GDRIVE",
"organisationId" : 1,
"emailId" : "xyz@gmail.com",
"sourceUserId" : "8888873554753473",
"sourceTeamId" : null
},
"connectionStatus" : null
}]
API2 -请求:。:在API2请求中,我需要发送“sourceUserId”和“source”详细信息。
{
"query": "hi",
"timeZone": "Asia/Calcutta",
"sourceFilterInfo": [
{
"sourceUserId": "16055292089",
"source": "BOX"
},
{
"sourceUserId": "88888222768",
"source": "DROPBOX"
},
{
"sourceUserId": "8888873554753473",
"source": "GDRIVE"
}
],
"contextIds": []
}
userSourceMeta详细信息会根据用户动态变化。请根据之前的API响应向我建议如何准备API2请求。
在我的情况下,我有两个vId(1
Response response = given().header("Content-Type", "application/json")
.param("name", Name).param("vIds", vId)
.when().get(EndPoint).then()
.extract().response();
我不知道你是否喜欢POJO方法,但就个人而言,这是最简单的方法。
注:
public class DynamicResponse {
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
static class SourceMeta{
private UserSource userSourceMeta;
}
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
static class UserSource {
private String userId;
private String source;
}
@Data
static class Request2 {
private String query;
private String timeZone;
private List<UserSource> sourceFilterInfo;
}
@Test
void test() {
//Save response of request 1
List<SourceMeta> res1 = given().get("http://localhost:8000/req1")
.as(new TypeRef<>() {});
// Convert response 1 to list of UserSource
List<UserSource> userSource = res1.stream()
.map(SourceMeta::getUserSourceMeta)
.collect(Collectors.toList());
// Add list of UserSource to Request 2
Request2 req2 = new Request2();
req2.setQuery("hi");
req2.setTimeZone("Asia/Calcutta");
req2.setSourceFilterInfo(userSource);
// Send the Request 2
given().log().body().contentType(ContentType.JSON)
.body(req2)
.post("http://localhost:8000/echo");
}
}
使用卡桑德拉准备语句时,将字段与静态值绑定是否有任何好处? 例如,即使我总是使用静态值“Active”,status是否也应该有一个bind变量?如果是,为什么? 更新用户设置status='Active',其中user_id=:userid
我生成SQL语句的代码工作正常-但是我在为$stmt生成字符串时遇到了一个问题-
我们都知道,我们注册广播接收机有两种类型 动态注册 但我的疑问是什么时候我们需要使用,什么时候我们需要使用?
我有以下java代码: 我的问题如下:我收到一个文本和一种语言,我必须检查该文本是否仅使用该语言的有效字母字符书写。我的代码如下: 这很好,也很有效,但随着我在应用程序中添加语言,我将不得不在交换机中添加越来越多的案例。 我想知道在中是否有一种方法可以动态命名一个静态嵌套类,比如: 所以我上面的代码可能是这样的: 谢谢,如果这是超级简单的事情,我很抱歉。 我是一名开发人员,正在学习。
问题内容: 在我的数据库的多个地方,开发人员使用了动态sql而不是静态sql。他们说这是为了提高性能。有人可以告诉我动态sql是否真的可以提高存储过程或plsql块的性能吗? 哪个执行速度更快,为什么? 1。 2。 问题答案: 您的示例代码非常简单,几乎没有什么区别,但是在那种情况下,静态版本最有可能执行得更好。 使用动态SQL来提高性能的主要原因是,当SQL语句发生重大变化时- 例如,您可以根据
问题内容: 我正在构建Java Web应用程序,并且我讨厌传统的“代码-编译-部署-测试”周期。我想输入一个微小的更改,然后立即查看结果,而无需编译和部署。 幸运的是,码头很适合这样做。这是一个纯Java Web服务器。它带有一个非常不错的maven插件,可让您直接从构建树中启动Jetty阅读- 无需打包war文件或部署。它甚至具有scanInterval设置:将其设置为非零值,它将监视您的Jav