Jersey 当资源方法返回void或null时,我是否可以使用MessageBodyWriter而不是返回204?

Jersey 当资源方法返回void或null时,我是否可以使用MessageBodyWriter而不是返回204?,jersey,jax-rs,Jersey,Jax Rs,我希望能够编写如下方法: @GET @Template(SIGNUP_FORM) @Produces("text/html") public void form() {} @GET @Template(SIGNUP_FORM) @Produces("text/html") public Object form() { return new Object(); } 我的MessageBodyWriter匹配使用@Template注释的方法,因此这应该可以正常工作。但是,Jersey跳过我的Me

我希望能够编写如下方法:

@GET
@Template(SIGNUP_FORM)
@Produces("text/html")
public void form() {}
@GET
@Template(SIGNUP_FORM)
@Produces("text/html")
public Object form() { return new Object(); }
我的MessageBodyWriter匹配使用@Template注释的方法,因此这应该可以正常工作。但是,Jersey跳过我的MessageBodyWriter并返回204(无内容)。为了解决这个问题,我必须做如下工作:

@GET
@Template(SIGNUP_FORM)
@Produces("text/html")
public void form() {}
@GET
@Template(SIGNUP_FORM)
@Produces("text/html")
public Object form() { return new Object(); }

我也不能返回null。

介意显示MessageBodyWriter吗?MessageBodyReader/Writer的目的是支持模型对象的任意序列化形式。假设您有一个用户,并且希望在API中将其公开为JSON和XML,那么您将有两个MessageBodyReader/Writer。如果要返回静态表单/模板,则可以直接从资源端点返回:public String form(){return SIGNUP_form;}