2015-03-18 2 views
0

Я работаю над API. Где я должен работать на спокойных веб-сервисах. Я очень новичок в этом. Что я узнал из документации API, так это то, что я должен передавать данные по определенному URL-адресу. У меня есть все необходимые данные и этот URL. Но я не нашел способа передать данные методом POST для спокойной веб-службы (по этому URL-адресу).Как передать данные веб-службе RESTful?

Я узнал об этом из документации API:

И это RESTful установка, которая передает данные, используя формат JSON через HTTPS.

Может ли кто-нибудь помочь мне, как передать данные с помощью метода POST на этот URL?

+0

Из ваших тегов Я предполагаю, что вы хотите реализовать вызов API в PHP? –

+0

Да, братья, вы правы. Но я не могу найти способ, какой стандартный способ написать такой код! У меня есть вся информация, о которой уже упоминалось. – salimbutex

+0

Как я уже упоминал ниже, вы можете использовать комбинацию 'json_encode()' и расширение cURL, которое позволяет отправлять любой HTTP-запрос на целевой адрес. Кроме того, вы можете выбрать библиотеку для использования, например [HTTPful] (http://phphttpclient.com/) или [Guzzle] (http://guzzle.readthedocs.org/en/latest/). Если вы еще не знакомы с PHP, библиотека может быть лучшим решением для вас. –

ответ

-1

Просто замените

Content-Type: application/json 

С

Content-Type: application/x-www-form-urlencoded 

Если API вы используете имеет опцию.

В противном случае вы можете получить доступ к данным как метод $ _POST, но в форме json, тогда вам придется использовать json_decode ($ _ POST), чтобы преобразовать его обратно в массив.

+0

Если API требует, чтобы вы использовали 'application/json' в качестве Content-Type, у вас действительно нет вариант «просто заменить» его чем-нибудь еще. Это не полезно для OP и, вероятно, просто добавляет к путанице. –

+0

@ Till Helge. Вы правы, но не упоминается, какой REST API, Framework или Tool используется, поэтому я написал решение для изменения Content-Type, поскольку оно может быть изменено на уровне кода или инструмента, если это разрешено. –

+0

Вам не хватает смысла. Он не реализует интерфейс REST, он хочет его использовать. Существует некоторый REST API, которому он должен отправить данные.Поэтому он должен использовать 'json_encode()' для упаковки данных, которые ему нужно отправить, а затем использовать, например, Curl-Extension для отправки запроса. Или просто какая-то библиотека, которая делает ее еще проще. У меня просто нет времени, чтобы объяснить это очень подробно прямо сейчас. Хотите сделать почести? ;) –

Смежные вопросы