用于显示本地数据的RESTful URL结构

用于显示本地数据的RESTful URL结构,url,rest,geolocation,latitude-longitude,Url,Rest,Geolocation,Latitude Longitude,我正在开发一个web应用程序,显示美国各地当地商店的销售额。列出的销售额和门店因地点而异。是否有一个RESTful URL方案来描述此信息,同时避免重复内容 具体来说,应用程序需要列出本地商店,并列出在特定商店出售的商品。邮递邮政编码似乎是一种方便的方式来参考地点,所以请考虑这个方案: /stores/zip - list stores near zip, with links to particular stores /store/name/lat+long - list i

我正在开发一个web应用程序,显示美国各地当地商店的销售额。列出的销售额和门店因地点而异。是否有一个RESTful URL方案来描述此信息,同时避免重复内容

具体来说,应用程序需要列出本地商店,并列出在特定商店出售的商品。邮递邮政编码似乎是一种方便的方式来参考地点,所以请考虑这个方案:

/stores/zip - list stores near zip, with links to particular stores /store/name/lat+long - list items at a particular store 有一个问题。位于/store/name/lat+long的页面需要链接回商店列表,但应该选择哪个邮政编码?假设它选择最接近lat+long坐标的邮政编码。用户可能通过/stores/zipA上的链接到达特定的商店页面,但商店页面可能会将他们引用回稍微不同的列表/stores/zipB

我们可以通过转发邮政编码信息来解决这个问题。因此位于/stores/zip的列表可以链接到/store/name/lat+long/zip。然而,这是不符合逻辑的,因为标识存储所需的所有信息都是由lat+long坐标提供的;邮政编码是多余的。事实上,相同的页面内容会有重复的URL


另一个解决方案是将上次查看的邮政编码保存为cookie,但这不是RESTful。有解决方案吗?

将该信息添加为可选的查询参数

/stores/name/lat+long?search=zip
/stores/name/lat+long唯一地表示资源,而可选的查询参数提供面包屑返回原始搜索所需的额外信息

如果您有来自某个地方的链接,而不是来自对该邮政编码的搜索,那么您可以只关闭查询参数。如果缺少查询参数,则默认为链接回最近的邮政编码,或完全关闭面包屑链接

另一种选择是,通过使用JavaScript将用户导航到其历史记录中的上一页,让浏览器历史记录为您做到这一点:

<a href="javascript:history.back()">Back to search</a>