Я интегрировал REST API iCIMS и обнаружил, что для некоторых вызовов REST API требуется HTTP-глагол PATCH. Однако кажется, что ColdFusion 10 этого не поддерживает. Есть ли способ обойти это?
Как сделать HTTP-вызов с action=PATCH с помощью CFHTTP (ColdFusion 10)
Ответы (2)
Это не было добавлено до ColdFusion 11, обновление 3.
Большинство сервисов API позволяют использовать POST вместо PATCH. Из документов для iCIMS видно, что они также принимают POST или PATCH.
person
Sean Coyne
schedule
24.02.2015
Я проверяю только этот вариант. Мне просто любопытно узнать, есть ли в CF10 способ сделать вызов PATCH.
- person Roul; 25.02.2015
Не используя cfhttp. Я полагаю, вы могли бы перейти на Java.
- person Sean Coyne; 25.02.2015
Работа с iCIMS API тоже здесь, но на CF 9, поэтому поддержки PATCH нет. Но я обнаружил, что вы можете выполнить POST, а затем переопределить его с помощью дополнительного заголовка: X-HTTP-Method-Override: PATCH
В API iCIMS для обновления некоторых данных требуется метод PATCH, а не метод POST, который создает новую запись. Итак, что-то вроде следующего должно работать.
<cfhttp method="post" url="api.icims.com/customers/1234/people/1289/fields/phones/332">
<cfhttpparam type="header" name="Authorization" value="Basic #auth_string#" >
<cfhttpparam type="header" name="X-HTTP-Method-Override" value="PATCH">
<cfhttpparam type="body" value="#your_json#" >
</cfhttp>
person
Matt W
schedule
02.09.2015
Хорошее дополнение, +1. Добро пожаловать в СО :)
- person Leigh; 02.09.2015
Спасибо. Я забыл упомянуть, что это было протестировано и проверено специалистом по интеграции в iCIMS.
- person Matt W; 02.09.2015