相关疑难解决方法(0)

何时使用@QueryParam vs @PathParam

我不是在问这里已经问过的问题: @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来区分他们的信息,就像上面举例说明的那样.我也很想听听练习背后的原因.

java rest jax-rs

257
推荐指数
8
解决办法
34万
查看次数

标签 统计

java ×1

jax-rs ×1

rest ×1