Рекомендуемый формат даты для REST GET API
каков рекомендуемый формат метки времени для REST GET API следующим образом:
http://api.example.com/start_date/{timestamp}
Я думаю, что фактический формат даты должен быть ISO 8601 формат, например YYYY-MM-DDThh:mm:ssZ для времени UTC.
должны ли мы использовать версию ISO 8601 без дефисов и двоеточий, таких как:
http://api.example.com/start_date/YYYYMMDDThhmmssZ
или мы должны кодировать формат ISO 8601, используя, например, кодировку base64?
3 ответов:
REST не имеет рекомендуемого формата даты. На самом деле это сводится к тому, что работает лучше для конечного пользователя и системы. Лично я хотел бы придерживаться стандарта, как у вас по стандарту ISO 8601 (закодировано).
если у вас нет уродливого URI, это вызывает беспокойство (например, не включая url-кодированную версию
:,-,in you URI) and (human) addressability is not as important, you could also consider epoch time (e.g.http://example.com/start/1331162374). URL выглядит немного чище, но вы, конечно, теряете читаемость.The
/2012/03/07это еще один формат, который вы видите много. Вы могли бы что именно я полагаю. Если вы идете по этому маршруту, просто убедитесь, что вы всегда находитесь во времени GMT (и сделайте это ясно в своей документации), или вы также можете включить какой-то индикатор часового пояса.в конечном счете это сводится к тому, что работает для вашего API и вашего конечного пользователя. Ваш API должен работать для вас, а не вы для него ;-).
проверьте эту статью для 5 законов API даты и времени здесь:
- Закон №1: Используйте ISO-8601 для ваших дат
- закон №2: Примите любой часовой пояс
- закон №3: храните его в UTC
- закон №4: верните его в UTC
- закон №5: Не используйте время, если оно вам не нужно
дополнительная информация в документах.
RFC6690 - ограниченный формат ссылок RESTful Environments (CoRE) явно не указывает, какой формат даты должен быть, однако, в 2. Формат Ссылки Он указывает на RFC 3986. Это означает, что рекомендация для типа даты в RFC 3986 должен быть использован.
в принципе RFC 3339 дата и время в Интернете это документ, чтобы посмотреть, что говорит:
формат даты и времени для использования в Интернете протоколы, которые являются профиль стандарта ISO 8601 для представления дат и время по Григорианскому календарю.
к чему это сводится : гггг-мм-ддтчч:мм:СС.ss±hh: mm
(например 1937-01-01T12:00:27.87+00:20)
самая безопасная ставка.
Comments