Restlet ServerResource用于二进制数据

时间:2012-03-04 05:03:42

标签: java rest restlet

我可以从Restlet Client发送二进制数据,如此

Representation representation = new InputRepresentation(new ByteArrayInputStream(bytes), MediaType.APPLICATION_OCTET_STREAM);
request.setEntity(representation);

但是,如何从restlet ServerResouce中接收此数据?

我的出发点是带有这样签名的方法吗?

@Put
    public MyCustomResponse AddNewDocument(Form data)
    {
     ...
    }

但是我如何获得二进制流?

1 个答案:

答案 0 :(得分:0)

试试这个:

    @Put(MediaType.APPLICATION_OCTET_STREAM)
    public MyCustomResponse AddNewDocument(Form data)
    {
     //...
    }

如果您的客户端和服务器都是java + restlet,我建议尽可能将其解压缩到接口。这样,您可以如上所述注释接口,并且客户端和服务器都将使用相同的媒体类型。 Here is an example

以下是PUT方法的文档:here.虽然,它似乎表明您不一定需要完整的mime类型,因此您可能需要四处寻找或注册它你自己(虽然看起来已经注册了)。