繁体   English   中英

Restlet响应类型

[英]Restlet response type

如何以所需格式返回Restlet响应? 我正在使用的方法:

@Get ("json")
public Address sendResponse(){
    Address add = getAddress();
    return add;
}

现在,我必须将Java对象显式转换为json字符串,作为对浏览器的响应。 Restlet框架本身不能解决这个问题吗?

Spring MVC的Restful实现可以做到这一点。 我也在Restlet中寻找类似的实现。

实际上,使用Restlet有两种方法可以做到这一点:

  • 使用JSON表示的显式代码。 如果您使用来自org.json的对象,则为JSONRepresentation;如果要JSON /对象映射,则为JacksonRepresentation。 您可以在下面找到一个示例:

     @Get ("json") public Representation sendResponse(){ Address add = getAddress(); return new JacksonRepresentation<Address>(address); } 
  • 隐式使用转换器。 在这种情况下,这就是您提供的代码。 您必须在类路径中有一个适当的转换器,例如org.restlet.ext.jackson扩展提供的转换器。 它将检测到需要返回JSON内容并将其Address对象隐式转换为JSON内容。

只是为了提示,当应用程序/ json通过accept标头定义为conneg(内容协商)时,GET注释中指定的json媒体会告诉Restlet使用关联的方法来处理请求。

希望它能帮到你。 蒂埃里

尝试将响应类型设置为application/json而不是json 通常,您需要指定正确的MIME类型。 如您所说,如果正确设置MIME类型,其他框架将自动进行转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM