1
我想寫一個JSON API。JSON API設計 - 快遞
我的問題是,有時我想查詢一個ID,有時爲一個字符串。
一個辦法是增加一個查詢字符串,例如:
example.com/user/RandomName
example.com/user/1234556778898?id=true
,並用它喜歡:
api.get('user/:input', function(req, res) {
if(req.query.id) {
User.find({ '_id': req.params.input }, cb);
} else {
User.find({ 'name': req.params.input }, cb);
}
};
但這似乎是不好的做法對我來說,因爲它導致了一堆的條件表達式。 有沒有更優雅的方式?
REST對端點設計沒有任何說明。其餘部分+1,這是現貨。 –
我在實現中看到的唯一問題是任何來自外部的人都能夠查詢數據庫並獲得內部結構的洞察。這是一個潛在的安全問題。 – Stefan
您是否在顯示信息的響應中將用戶對象返回給客戶端?如果是的話,任何人都可以使用URL中的字段來查詢數據庫並不重要,因爲無論如何他們都能夠看到用戶結構。此外,您可以在後端進行一些檢查,以便現在允許在必要時查詢某些字段。 – Mike