我有路由查詢是一個MySQL數據庫爲打印作業REST路線
http://api.com/prints/
我想根據日期,以便於查詢結果...
http://api.com/prints/YYYY
或
http://api.com/prints/YYYY/MM
或
http://api.com/prints/YYYY/MM/DD
但使用相同的http://api.com/prints/
路線。每張照片都有一個TIMESTAMP
。
有沒有人有一個很好的例子來說明如何做到這一點?
我有路由查詢是一個MySQL數據庫爲打印作業REST路線
http://api.com/prints/
我想根據日期,以便於查詢結果...
http://api.com/prints/YYYY
或
http://api.com/prints/YYYY/MM
或
http://api.com/prints/YYYY/MM/DD
但使用相同的http://api.com/prints/
路線。每張照片都有一個TIMESTAMP
。
有沒有人有一個很好的例子來說明如何做到這一點?
在可選的參數,可以你需要使用括號:
$app->get('/prints(/:year)(/:month)(/:day)', function ($year = '', $month = '', $day = '') {
printf('%s-%s-%s', $year, $month, $day);
});
我會使用的查詢參數實現這一點,即:
http://api.com/prints?timestamp=YYYY-MM-DD
基於當前的例子official Slim documentation:
$app->get('/prints(/:year(/:month(/:day)))', function ($year = null, $month = null, $day = null) {
if ($day !== null) {
// return daily overview resource
} else if ($month !== null) {
// return monthly overview resource
} else {
// return yearly overview resource
}
// return some error or (better) overview resource on available data/endpoints
});
你將如何處理這個月和一天的失蹤? – maxum
如果您需要支持:'http://api.com/prints?year = YYYY','http://api.com/prints?year = YYYY&month = MM'和'http:// api。 COM /打印?年= YYYY&月= MM&天= DD'。 –
好吧,現在我看到你用PHP,mysql和slim標記了這個標籤。國際海事組織,這是不夠的。你需要解釋你正在尋找你的問題和/或主題的PHP解決方案。我以爲你在問一個普通的REST方法問題,因爲你用'rest'標記了這個問題。 –