使用jersey序列化注释始终失败,并显示未知错误。
最小的例子是:
泽西资源
@TestAnno( id = "TestID" )
@Path( "/test" )
public class TestResource
{
@GET
@Produces( MediaType.APPLICATION_JSON )
public TestAnno list() throws JsonGenerationException, JsonMappingException, IOException
{
final TestAnno ta = getClass().getAnnotation( TestAnno.class );
return ta;
}
}
注释
@Retention( RetentionPolicy.RUNTIME )
@Target( ElementType.TYPE )
public @interface TestAnno
{
@JsonProperty( "id" )
String id();
}
电话总是返回
HTTP ERROR: 500
Problem accessing /schema. Reason:
Server Error
调试日志为空,没有异常或有关错误的任何其他信息。球衣失败的重点是什么?
答案 0 :(得分:1)
可能你没有具有这样一个类的Serializer。考虑编写Dto类并将注释中的所有信息映射到它。然后返回作为回复。 类似的东西:
public Response list() throws JsonGenerationException, JsonMappingException, IOException
{
final TestAnno ta = getClass().getAnnotation( TestAnno.class );
MyDto dto = buildDto(ta);
return Response.ok(dto);
}