JSON добавить ответ с атрибутом из ссылки - PullRequest
1 голос
/ 21 января 2020

У меня есть конечная точка API в Zapier, куда я звоню по всем утвержденным запросам на отпуск из системы начисления заработной платы. в качестве данных.

    const options = {
  url: 'https://api.somepayroll.com/api/v1/leaves/requests',
  method: 'GET',
  headers: {
    'Accept': 'application/json',
    'Authorization': `Bearer ${bundle.authData.access_token}`,
    'X-CLIENT-SECRET': bundle.authData.client_secret,
    'X-CLIENT-ID': bundle.authData.client_id,
    'X-STATUS': bundle.inputData.status
  },
  params: {

  }
}

return z.request(options)
  .then((response) => {
    response.throwForStatus();
    const results = z.JSON.parse(response.content);

    // You can do any parsing you need for results here before returning them

    return results.content;
  });

Это дает мне следующий ответ:

[
  {
    "employeeId": "1",
    "requestId": 5487,
    "hours": 8,
    "leaveFromDate": "19-Feb-2020",
    "leaveToDate": "19-Feb-2020",
    "reason": "Birthday Party",
    "status": "Pending",
    "payElement": "Annual Leave",
    "leaveBalanceType": {
      "leaveType": "Annual",
      "name": "Annual Leave",
      "unit": "hours",
      "organisationSpecific": false
    },
    "payElementId": 50,
    "daysConsumed": 0,
    "daysCurrent": 0,
    "daysRemaining": 0,
    "quantityConsumed": 0,
    "quantityCurrent": 0,
    "quantityRemaining": 8,
    "additionalApprovalAcquired": false,
    "leaveInDays": false,
    "links": [
      {
        "rel": "self",
        "href": "https://api.somepayroll.com/api/v1/leaves/requests/5487"
      },
      {
        "rel": "employee",
        "href": "https://api.somepayroll.com/api/v1/employees/1"
      },
      {
        "rel": "payelement",
        "href": "https://api.somepayroll.com/api/v1/payelements/AL"
      }
    ],
    "id": "5487"
  },
  {
    "employeeId": "1",
    "requestId": 5551,
    "hours": 8,
    "leaveFromDate": "23-Jan-2020",
    "leaveToDate": "23-Jan-2020",
    "reason": "Camping",
    "status": "Pending",
    "payElement": "Annual Leave",
    "leaveBalanceType": {
      "leaveType": "Annual",
      "name": "Annual Leave",
      "unit": "hours",
      "organisationSpecific": false
    },
    "payElementId": 50,
    "daysConsumed": 0,
    "daysCurrent": 0,
    "daysRemaining": 0,
    "quantityConsumed": 0,
    "quantityCurrent": 0,
    "quantityRemaining": 8,
    "additionalApprovalAcquired": false,
    "leaveInDays": false,
    "links": [
      {
        "rel": "self",
        "href": "https://api.somepayroll.com/api/v1/leaves/requests/5551"
      },
      {
        "rel": "employee",
        "href": "https://api.somepayroll.com/api/v1/employees/1"
      },
      {
        "rel": "payelement",
        "href": "https://api.somepayroll.com/api/v1/payelements/AL"
      }
    ],
    "id": "5551"
  }
]

Я также пытаюсь получить имя сотрудника по ссылке в ответе https://api.somepayroll.com/api/v1/employees/1, поскольку он только дает мне идентификационный номер. Можно ли перекрестно связать данные такого рода, сопоставить данные по employeeID и получить данные с именем firstName, которые будут частью этого результата?

1 Ответ

0 голосов
/ 28 января 2020

должно обрабатываться серверной частью, однако вы можете вызвать ссылку из ответа и получить дополнительные данные,

...