Размещение в API веб-службы в Objective C? - PullRequest
0 голосов
/ 21 марта 2011

Я пишу одно из моих первых приложений для использования веб-службы в Objective C, это клиент Lighthouse API. Я могу правильно и быстро выполнить все операции GET и XML, но у меня возникают серьезные проблемы при попытке создать новый тикет через POST (http://lighthouseapp.com/api).

Я использую ASIHTTPRequest. Я попытался включить параметры в URL-адрес (т.е.

Я пытался поместить XML-билет в тело запроса.

<ticket><title>boo</title></ticket>

Ничего не работает. (сервер всегда отправляет ответ обратно, говоря, что ему нужен заголовок) Я очень новичок в веб-службах - я что-то упускаю из виду?

1 Ответ

1 голос
/ 21 марта 2011

Я быстро взглянул на API Lighthouse и вот как вы создаете новый тикет.

  1. URL-адрес запроса: http://{yourCustomURL}.lighthouseapp.com/projects/{ProjectID}/tickets.xml, где {ProjectID} - это 5-значный номер - в моем случае 72945 .

  2. Метод POST

  3. Тип содержимого должен быть установлен на application / xml

  4. Тело должно быть в формате ниже. Все поля являются необязательными, поэтому я включил только заголовок

<ticket> <assigned-user-id type="integer"></assigned-user-id> <body></body> <milestone-id type="integer"></milestone-id> <state></state> <title>Testing new ticket creation</title></ticket>

(извините за форматирование кода, приведенного выше, SO, похоже, не нравится код в формате XML как-то?

Это сработало для меня с новым тикетом, созданным в рамках проекта ID 72945 - получен ответ: 201 Создано

Если вы хотите убедиться, что ваш POST-запрос работает, прежде чем погрузиться в ASIHTTPRequest, загрузите дополнение Firefox под названием POSTER с здесь . Это позволит вам отправить аутентифицированный почтовый запрос со всеми полями выше. Как только вы добьетесь того, что это сработает, нужно, чтобы ASIHTTPRequest сделал то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...