Смущен идемпотентностью, PUT, GET, POST и т. Д. - PullRequest
2 голосов
/ 26 сентября 2011

Большинство дискуссий на эти темы касаются того, как сформировать URL или как запросить ресурс.Позвольте мне описать то, что я делаю, и посмотреть, может ли сообщество помочь мне переформулировать мою проблему на более профессиональном языке веб-дизайна: -)

Я создаю аппаратное обеспечение, которое, я полагаю, вам 'буду называть «веб-устройством».Подобно онлайн-метеостанции, она будет находиться в домашней локальной сети и отправлять сообщения на удаленный сервер.Скажем, каждые 5 минут он будет отправлять запись:

timestamp
temperature reading
unit ID #

"Веб-страница в небе", которая собирает эти данные, представляет собой приложение Ruby-on-Rails, содержащее таблицы для идентификаторов устройств и примеров..

Я хочу, чтобы веб-устройство могло напрямую публиковать новые образцы в таблицу данных «образцов», составляя URL-адрес, подобный следующему:

http://kevinswebsite.com/samples/new?timestamp=2011_Oct_01_1440&unit_id=75&temp=75.5

Вышеприведенное должно создать запись о том, что в 14:40 1 октября 2011 года блок № 75 сообщил о температуре 75,5 градусов.

Возможно ли что-то подобное?

Спасибо,

Кевин

1 Ответ

1 голос
/ 26 сентября 2011

Вы должны использовать GET только для извлечения информации безопасным и идемпотентным способом!Похоже, ваш URL использует GET и вы хотите создать соответствующую запись в вашей базе данных.Я бы рекомендовал вместо этого использовать POST.Обратите внимание, что POST не является безопасным и идемпотентным методом.После обработки запроса POST вы можете создать в своей таблице новую запись для новой информации, которую вы получаете от своего веб-устройства.

Таким образом, вы можете быть уверены, что клиенты будут рассчитывать на ваши методы, такие как GET, POST, DELETE, HEAD, PUT и т. Д.

Удачи.

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