1
我想知道是否使用相同的URL來提供HTML和JSON響應是一種很好的做法。HTML和JSON響應的相同URL
例如,如果我正在構建一個博客,並且我有一個提供最新項目的URL,那麼我將擁有一個類似於/ latest的網址 我希望對我的端點使用相同的URL來檢索項目我在我的節點執行以下路線:
app.get("/latest",function(req,res){
var type = req.header("Accept");
if(type.indexOf("application/json") > -1){
getLatestItems(req,res);
}
else {
res.render("/latest", {user: req.session.username, current: "latest"});
}
});
我在想,如果這種做法是OK或者是它更好地爲我的JSON響應一組獨立的端點?
'Accept'標題可以包含多個MIME類型,如果你想這樣做,你應該做的就是檢查'q'(質量)值。在這樣做之後,你仍然需要注意代理緩存請求並將其提供給不同客戶端的問題,因此您必須指定何時可以使用緩存副本以及何時不使用緩存副本等。 – CBroe 2014-11-20 22:36:56
我認爲它對於像普通的「瀏覽器」這樣的不可預知的客戶端部分地服務的服務並不是一個好主意 - 如果這是一個API,您可以在請求客戶端上施加非常特定的規則,那將是不同的。 – CBroe 2014-11-20 22:38:36