何时使用@QueryParam与@PathParam
我不是在问这里已经提出的问题:@PathParam和@QueryParam
这是一个“最佳实践”或约定问题。
何时会使用 vs .@PathParam
@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) ;
与/category/instance
@GET
@Path("/employee/{dept}/{id}")
Patient getEmployee(@PathParam("dept")Long dept, @PathParam("id")Long id) ;
与?category+instance
@GET
@Path("/employee")
Patient getEmployee(@QueryParam("dept")Long dept, @QueryParam("id")Long id) ;
我不认为有一个标准的惯例来做这件事。有吗?但是,我想听听人们如何使用PathParam与QueryParam来区分他们的信息,就像我上面举例的那样。我也想听听这种做法背后的原因。