我有一个网页应用程序,有很多页面的表单/ 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