java在资源的URI中使用自定义类
我有一个自定义数据类:
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);
...
}
}
但我更愿意在其他地方进行转换/自动wrt。资源
# 1 楼答案
从docs开始:
带注释的参数、字段或属性的类型必须:
所以,如果你提供一个构造函数
Data(String)
,你应该没问题