Рекомендуемый формат даты для 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?

815   3  

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

    Ничего не найдено.