java web服务同时接受json和文件上传?

时间:2013-02-08 20:53:56

标签: java json web-services rest

我有以下可以正常工作的网络服务。我需要添加上传文件的功能以及序列化为JSON的TrackBean实例。

我发现了很多只是文件上传的例子,但没有一个会接受同一帖子中的json和文件。

一次完成这一切是不好的技巧吗?更好的做法是先上传文件,从服务器获取某种令牌作为响应,然后在第二篇文章中发送json,引用#1后面的令牌,以便服务器知道要关联哪个文件传入的JAXB_TrackBean实例。

提前感谢您的帮助!

webservice chunk:

@POST
@Path( "/post" )
@Consumes( MediaType.APPLICATION_JSON )
public Response createTrackInJSON( JAXB_TrackBean track )
{

    String result = "TrackBean saved : " + track.getText() ;
    return Response.status( 201 ).entity( result ).build();

}

JAXB_TrackBean:

@XmlRootElement( name = "track" )
@XmlType( propOrder = { "id", "text" } )
public class JAXB_FtTextBean
{
     private long id = 0;
     private String text;

        // getter/setters omitted for brevity 

 }

1 个答案:

答案 0 :(得分:0)

当我不得不在web服务请求中包含文件时,我通常做的是我接受文件内容为bytes array或base 64编码内容。以这种方式,文件只是调用的另一个参数。不是最有效的方式,但提供了结果。值得一提的是,我尝试了仅使用SOAP WSs的这种方法,但我没有看到它不应该与REST + JSON一起使用的原因。

相关问题