У меня есть 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, с которым API (A) будет взаимодействовать (несколько форматов для преобразования / сопоставления), это может быть не очень хорошим решением. Есть идеи?