我有一个 API (A) 接收请求并将这些请求发送到另一个 API (B)。但是,在 API (A) 向 API (B) 发送请求之前,它需要按照 API (B) 接受请求的方式来格式化它们。API (A) 中接收到的一些数据将不会被使用或映射到发送到 API (B) 的请求,API (B) 中的一些数据字段也将是空的。我想将 API (A) 中的字段映射到 (B) 接受的格式。
这是 API (A) 接收请求的格式:
{
"customer" : {
"name" : "Bob",
"phone" : "000-123-4567",
"email" : "bob@email.com",
"zip" : "12345"
}
}
这是 API (B) 接收请求的格式。这是我想在将 API (A) 收到的所有请求发送到 API (B) 之前将其转换为的格式。这是一个例子:
{
"transaction" : {
"name" : "Bob",
"phone" : "000-123-4567",
"address" : "",
"city" : ""
}
}
所以匹配的键将被映射,不匹配的键将保持为空。我不能改变 API (A) 接收请求的方式并将其匹配到与 API (B) 请求相同的格式的原因是因为我将它与多个 API 集成。我不确定是否有一种简单的方法可以做到这一点。
到目前为止,我已经考虑过创建一个方法,该方法将接收一个 json 对象(这将是 A 收到的请求)和一个 RequestB 对象(我将创建并表示发送到 API B 的请求)比较匹配的键并设置值,然后返回格式正确的请求,以便将其发送到 API (B)。但是,由于 API (A) 将与多个 API 进行通信(要转换/映射到的多种格式),因此这可能不是一个好的解决方案。有任何想法吗?
HUWWW
心有法竹
相关分类