具有复合ID的REST资源的URL

时间:2014-02-09 19:11:40

标签: api rest url

我正在创建一个REST API,其中我的一些资源具有由两个独立部分组成的复合ID。一个例子是给定纬度和经度的资源。

我最初的想法是将ID的每个复合部分添加为路径的单独部分,如下所示:

http://localhost/phone-details/Vodafone/07123000000 - Operator and number

http://localhost/location-details/50/-2 - Lat and long

采用这种方法是最佳做法吗?应该使用查询字符串,以便每个复合ID部分都有一个明确而明显的名称?或者,复合ID只能以逗号分隔?

1 个答案:

答案 0 :(得分:4)

我可以推荐你好书Restful web services cookbook 从那里(第77页)

  

使用逗号(,)和分号(;)字符表示非分层部分   的URI。

     

分号约定用于识别矩阵参数:

     

http://www.example.org/co-ordinates;w=39.001409,z=-84.578201   http://www.example.org/axis;x=0,y=9