我想创建一个端点,其中PathParam
自动调用要注入的对象的构造函数,该构造函数具有String参数的构造函数。在代码中拼写出来:
这是资源
@GET
@Path("/{apiVersion}" + "/item")
public Response version(@PathParam("apiVersion") APIVersion apiVersion) {
return Response.ok().build();
}
我希望在调用APIVersion构造函数时自动使用String。在APIVersion
类
public APIVersion(String apiVersion) {
this.versionString = apiVersion;
}
是否可以只访问注释?我无权访问ResourceConfig
。
答案 0 :(得分:3)
是的,这是可能的,没有除@PathParam
之外的任何注释,因此您给出的示例应该按原样运行。见https://jersey.github.io/documentation/latest/jaxrs-resources.html#d0e2271(强调我的):
通常,方法参数的Java类型可以是:
是原始类型;
拥有一个接受单个String参数的构造函数;
使用名为valueOf的静态方法或接受单个的fromString 字符串参数(例如,参见Integer.valueOf(String)和 java.util.UUID.fromString(字符串));
已注册实施 javax.ws.rs.ext.ParamConverterProvider JAX-RS扩展SPI 返回一个能够“from”的javax.ws.rs.ext.ParamConverter实例 字符串“转换为类型。或
- 醇>
Be List,Set或SortedSet,其中T满足上面的2或3。 生成的集合是只读的。