0

正常に動作する次の Web サービスがあります。JSON にシリアル化された TrackBean のインスタンスと共にファイルをアップロードする機能を追加する必要があります。

ファイルのアップロードだけの例をたくさん見つけましたが、同じ投稿内でjsonとファイルを受け入れる例はありません。

これを一度に行うのは悪いテクニックですか?最初にファイルをアップロードし、応答としてサーバーからある種のトークンを取得してから、2 番目の投稿で json を送信し、投稿 #1 からのトークンを参照して、サーバーが関連付けるファイルを認識できるようにすることをお勧めします。着信 JAXB_TrackBean インスタンス。

助けてくれてありがとう!

ウェブサービス チャンク:

@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 

 }
4

1 に答える 1

0

Web サービス リクエストにファイルも含めなければならないときに私がよく行ったことは、ファイル コンテンツをバイト配列または Base 64 でエンコードされたコンテンツとして受け入れたことです。このように、ファイルは呼び出しの別のパラメーターに過ぎませんでした。最も効率的な方法ではありませんが、結果が得られました。このアプローチは、SOAP WS でのみ知るために試したことに言及する価値がありますが、REST+JSON で機能しない理由がわかりません。

于 2013-02-09T07:19:50.597 に答える