Java Restlet响应类型
如何以所需格式返回Restlet响应? 我使用的方法是:Java Restlet响应类型,java,web-services,rest,spring-mvc,restlet,Java,Web Services,Rest,Spring Mvc,Restlet,如何以所需格式返回Restlet响应? 我使用的方法是: @Get ("json") public Address sendResponse(){ Address add = getAddress(); return add; } 现在,我必须显式地将java对象转换为json字符串,作为对浏览器的响应。Restlet框架本身不能处理它吗 SpringMVC的Restful实现可以做到这一点。我也在Restlet中寻找类似的实现。尝试将响应类型设置为application/js
@Get ("json")
public Address sendResponse(){
Address add = getAddress();
return add;
}
现在,我必须显式地将java对象转换为json字符串,作为对浏览器的响应。Restlet框架本身不能处理它吗
SpringMVC的Restful实现可以做到这一点。我也在Restlet中寻找类似的实现。尝试将响应类型设置为
application/json
,而不仅仅是json
。通常,您需要指定正确的MIME类型。正如您所说,如果您正确设置MIME类型,其他框架将自动进行转换。事实上,使用Restlet有两种方法:
- 使用JSON表示的显式表示。如果使用org.json中的对象,则使用JSONRepresentation;如果需要json/对象映射,则使用JacksonRepresentation。您可以在下面找到一个示例:
@Get ("json") public Representation sendResponse(){ Address add = getAddress(); return new JacksonRepresentation<Address>(address); }
@Get(“json”) 公众代表回应(){ Address add=getAddress(); 返回新的JacksonRepresentation(地址); }
- 隐式的使用转换器。在本例中,是您提供的代码。类路径中必须有一个适当的转换器,如org.restlet.ext.jackson扩展提供的转换器。它将检测到需要返回JSON内容,并隐式地将Address对象转换为JSON内容
Thierry您希望的格式是什么?现在,您告诉它返回json,因此它将返回json。你想让它返回另一个媒体类型吗?如果是,什么?@javamonkey79谢谢你的关心。我会努力的。我想要的格式是json,但在浏览器上没有。我必须将其转换为json:string才能在浏览器上获得它。我在服务器控制台上收到以下消息:org.restlet.service.ConverterService toRepresentation警告:找不到此对象的转换器:restlet。Address@396fe0f4That这是不对的。事实上,API文档中只提到了oppsosite。请参阅“注意,这不是完整的MIME类型值,只是MetadataService中声明的扩展名。”