我有一个自定义数据类:
public static class Data {
...
}
我想在Jersey中的资源的URI中使用此类。例如:
@Path("test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class ResourceTest {
@GET
@Path("/data-{data}")
public Response get(@PathParam("data") final Data data) {
...
}
}
这可能吗?我想我需要注入某种转换器,它将Data
的文本表示转换为Data
实例。我一直在查看文档,但到目前为止还没有找到有用的东西。
当然,我可以将其更改为:
@Path("test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class ResourceTest {
@GET
@Path("/data-{data}")
public Response get(@PathParam("data") final String input) {
final Data data = convert(input);
...
}
}
但我宁愿在其他地方进行转换/自动转换。资源。
答案 0 :(得分:0)
来自docs:
带注释的参数,字段或属性的类型必须:
因此,如果您提供构造函数Data(String)
,那么您应该没问题。