[英]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.