我有一個網頁應用程序,有很多頁面的表單/ object_type/object_id /顯示這些對象的詳細信息的URL。我也有一個RESTful API,返回對象的JSON/XML表示(在/ api/object_type/object_id /下)。 (我的對象是法律和法案,但我想這個問題是相當普遍的)。如何處理Web應用程序和RESTful API中的合併對象/資源?
有時候,我發現2個或更多的對象實際上是重複的,並描述了現實世界中的同一個對象。假設他們是/ Bill/111 /和/ Bill/222 /。在幕後,我合併了2個對象,留下了1個對象(可以說/ Bill/111 /)所有的信息,另一個對象只是對另一個的引用。
我的問題是,我應該如何在Web應用程序和API中指出合併?我不希望/ Bill/222 /返回404,因爲我可能有指向它的外部鏈接,我不希望它們被破壞。我應該使用301永久移動嗎?我是否應該返回一個正常頁面(狀態爲200),說明該資源被檢測爲與合併鏈接相重複?我應該如何在API中處理這個問題?例如,我應該在條例草案索引中列出222嗎?
保留這兩個URL的唯一問題是,根據問題14範圍http://www.w3.org/2001/tag/issues.html#httpRange-14的解決方案應該只有一個URL爲單個資源返回200。一個資源可以有多個URI,但其他的應該返回一個重定向,如果解除引用。 – 2010-07-15 03:00:00