Restlet响应类型

Him*_*dav 2 java rest web-services spring-mvc restlet

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

@Get ("json")
public Address sendResponse(){
    Address add = getAddress();
    return add;
}
Run Code Online (Sandbox Code Playgroud)

现在我必须显式地将java对象转换为json字符串作为对浏览器的响应.Restlet框架本身不能照顾它吗?

Spring MVC的Restful实现可以做到.我也在Restlet中寻找类似的实现.

Thi*_*ier 10

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

  • 使用JSON表示的显式.如果您想要JSON/Object映射,则使用org.json中的对象或JacksonRepresentation时的JSONRepresentation.您可以在下面找到一个示例:

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

仅仅是为了提示,GET注释中指定的json媒体告诉Restlet使用关联的方法来处理请求,当application/json被定义为conneg(content negociation)和accept头时.

希望它能帮到你.蒂埃里