@DefaultValue 与 RESTful 框架中的 @PathParameter 不兼容

nep*_*une 5 java rest

我收到一个要求,我需要 a 的默认值@PathParameter

这就是我的代码的样子:

    @GET
    @Path("/family/{member}")
    public Response responseMsg( @DefaultValue("Father") @PathParam("member")  String pathParameter) {}
Run Code Online (Sandbox Code Playgroud)

编译器不会显示任何错误,应用程序当然也不会按照我的预期运行。

因为 uri "/family/ null" 不会匹配路径 " /family/{member}" 而是 " /family/"

我可以知道是否有任何方法可以为 a 指定默认值@PathParam以及如何指定?我还想知道是否 @DefaultValue只兼容 @QueryParameter

shl*_*i33 0

我认为这里的最佳实践是将注释的方法重定向@Path("/family/")到您使用所需默认值显示的方法:

@GET
@Path("/family")
public Response redirectingMethod() {
    return responseMsg("Father");
}
Run Code Online (Sandbox Code Playgroud)