Вызов API REST с использованием метода POST вызывает метод GET - PullRequest
0 голосов
/ 21 сентября 2011

Я разрабатываю плагин firefox, который вызывает api rest с помощью метода post.Остальные API сохранят данные, если они вызываются с помощью POST.Если он вызывается с использованием метода GET, он извлекает данные, сохраненные ранее.

Но в некоторых случаях API возвращает постоянные данные, даже если он вызывается с использованием данных POST.

IЯ в замешательстве, неправильно ли я отправляю данные или что-то не так с api.Но большинство запросов обрабатывается правильно.Так что я не думаю, что с плагином что-то не так.Бэк-энд на ROR.

Любая помощь будет отличной!

Спасибо.

Ответы [ 2 ]

2 голосов
/ 21 сентября 2011

Сервисы RESTful нередко возвращают копию (обновленных) данных в ответ на POST.

Все, что вас действительно волнует, - это обновление удаленных данных при выполнении POST. Независимо от того, возвращает ли он копию этих данных, вы можете спокойно проигнорировать.

0 голосов
/ 23 сентября 2011

Если он прерывистый, одна из возможностей состоит в том, что между вашим сервером и клиентом имеется кеш HTTP, который плохо реализован и не проводит должного различия между методами GET и POST.Возможно, он пытается вернуть кэшированную копию, как если бы вы сделали запрос GET, даже если вы отправили запрос POST.

Если вместо этого «в некоторых случаях» означает «для некоторых URL», то возможно, что выотправляют POST по URL-адресу, например "/ foo" (без косой черты), и служба возвращает 301 или 302, перенаправляя клиента на "/ foo /" (с косой чертой).Большинство пользовательских агентов изменят POST на GET для 302, а некоторые - на 301. Если у вас есть контроль над сервером, вы должны использовать 303 или 307.Смотри http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-16#section-8.3.3

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