我正在创建一个REST API,其中我的一些资源具有由两个独立部分组成的复合ID。一个例子是给定纬度和经度的资源。
我最初的想法是将ID的每个复合部分添加为路径的单独部分,如下所示:
http://localhost/phone-details/Vodafone/07123000000 - Operator and number
http://localhost/location-details/50/-2 - Lat and long
采用这种方法是最佳做法吗?应该使用查询字符串,以便每个复合ID部分都有一个明确而明显的名称?或者,复合ID只能以逗号分隔?
答案 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