我不是在问这里已经问过的问题: @PathParam和@QueryParam之间有什么区别
这是"最佳实践"或惯例问题.
当你使用@PathParamVS @QueryParam.
我能想到的是,决定可能是使用二者来区分信息模式.让我在下面说明我的LTPO - 不完美的观察.
PathParam的使用可以保留用于信息类别,这可以很好地落入信息树的分支中.PathParam可用于深入到实体类层次结构.
而QueryParam可以保留用于指定属性以定位类的实例.
例如,
/Vehicle/Car?registration=123/House/Colonial?region=newengland/category?instance
@GET
@Path("/employee/{dept}")
Patient getEmployee(@PathParam("dept")Long dept, @QueryParam("id")Long id) ;
Run Code Online (Sandbox Code Playgroud)
VS /category/instance
@GET
@Path("/employee/{dept}/{id}")
Patient getEmployee(@PathParam("dept")Long dept, @PathParam("id")Long id) ;
Run Code Online (Sandbox Code Playgroud)
VS ?category+instance
@GET
@Path("/employee")
Patient getEmployee(@QueryParam("dept")Long dept, @QueryParam("id")Long id) ;
Run Code Online (Sandbox Code Playgroud)
我不认为有这样做的标准惯例.在那儿?但是,我想知道人们如何使用PathParam与QueryParam来区分他们的信息,就像上面举例说明的那样.我也很想听听练习背后的原因.