如何以所需格式返回 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 内容并将您的地址对象隐式转换为 JSON 内容。
只是为了提示,在 GET 注释中指定的 json 媒体告诉 ReSTLet 在 application/json 被定义为带有 accept header 的连接(内容协商)时使用关联的方法来处理请求。
希望对你有帮助。 蒂埃里
关于java - ReSTLet 响应类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9670525/