1. ホーム
  2. http

[解決済み] REST GET APIの推奨日付フォーマット

2022-09-26 05:06:56

質問

このような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 エンコーディングを使ってエンコードするべきでしょうか?

どのように解決するのですか?

REST には推奨される日付の形式がありません。 本当に、エンド ユーザーとシステムにとって何が最適なのかに帰結します。 個人的には、ISO 8601 (url エンコード) のような標準に固執したいと思います。

醜い URI を持たないことが懸念される場合 (例: url エンコードされたバージョンの : , - , のように)、(人間の)アドレス指定がそれほど重要でない場合は、エポックタイムも考慮することができます (例えば http://example.com/start/1331162374 ). URL は少しきれいに見えますが、確かに読みやすさは失われます。

/2012/03/07 もよく見かける形式です。 これを発展させることもできると思います。もしこの方法を取るなら、常にGMT時間であることを確認するか(そしてそれを文書で明確にする)、あるいはある種のタイムゾーン表示も含めるとよいかもしれません。

最終的には、あなたのAPIとエンドユーザーのために何が機能するかに帰結します。 APIはあなたのために働くべきで、あなたがAPIのために働くべきではありません;-)。