отправка данных на внешний API в формате JSON в виде http сообщения - PullRequest
1 голос
/ 21 марта 2019

Мне нужно отправить данные во внешний API в следующем формате JSON.

Буду признателен за помощь в правильном синтаксисе ColdFusion, который мне нужно использовать с моим CFHTTP для достижения этой цели.

Поиски, которые я нашел в Интернете, кажутся слишком сложными из-за того, что мне нужно

{
  "customer": {
    "first_name": "Steve",
    "last_name": "Lastnameson",
    "email": "steve.lastnameson@example.com",
    "phone": "+15142546011",
    "verified_email": true,
    "addresses": [
      {
        "address1": "123 Oak St",
        "city": "Ottawa",
        "province": "ON",
        "phone": "555-1212",
        "zip": "123 ABC",
        "last_name": "Lastnameson",
        "first_name": "Mother",
        "country": "CA"
      }
    ]
  }
}

1 Ответ

0 голосов
/ 21 марта 2019

Без подробностей приведу общий пример, с которого следует начать.

Сначала создайте данные JSON и сохраните их в переменной:

<cfsavecontent variable="JSONData">
{
  "customer": {
    "first_name": "Steve",
    "last_name": "Lastnameson",
    "email": "steve.lastnameson@example.com",
    "phone": "+15142546011",
    "verified_email": true,
    "addresses": [
      {
    "address1": "123 Oak St",
    "city": "Ottawa",
    "province": "ON",
    "phone": "555-1212",
    "zip": "123 ABC",
    "last_name": "Lastnameson",
    "first_name": "Mother",
    "country": "CA"
      }
    ]
  }
}
</cfsavecontent>

Затем отправьте эту переменную в API:

<cfhttp url="https://somedomain.com/api-specific-uri" method="post" timeout="30">
    <cfhttpparam type="header" name="content-type" value="application/json" />
    <cfhttpparam type="header" name="content-length" value="#Len(Trim(JSONData))#" />
    <cfhttpparam type="header" name="charset" value="utf-8" />
    <cfhttpparam type="body" value="#Trim(JSONData)#" />
</cfhttp>

Затем для тестирования вы можете вывести результаты HTTP-вызова:

<cfdump var="#cfhttp#" />

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

...