0

次のように、Spring 側で処理される Web サービスがあります。

    @POST
    @Path("/processRequest")
    @Consumes("multipart/mixed")
    @ResponseStatus(HttpStatus.OK)
    public String processRequest(@Context ServletContext servletContext, MultipartInput input) {

        return addAccout(servletContext, input);
    }

リクエストは multipart/mixed リクエストとして受信され、次のようになります。

--productBoundary
Content-Type: text/xml

<?xml version="1.0" encoding="UTF-8"?>
<product>
     <name>ProductA</name>
</product>

--productBoundary
Content-Type: text/xml

ZGF0YRBAAABn5///////////////5///Z+fn///n////////5////////2f//2f//+f//+f////n/
///////52f//////2f//////2f/////5////////+f/////Z+f///////////////9n//9nZ/9n////5+f///9
<snip>
//+f//////2f/////////5//n//////////9n

--productBoundary--

リクエストは、マルチパート/ミックスとして入ってきます。processRequest のメソッド パラメータに示されている Resteasy のオブジェクトを使用して、multipart/mixed メッセージの各部分を抽出できます。私がやりたいことは、ヘッダーやその他すべてで変更されていないメッセージを取得することです。これは可能ですか?

リクエストを受信したとおりに保存できる必要があります。MultipartInput 構造を使用するということは、リクエストを変更したことを意味します。とにかく、変更せずに(すべてのヘッダーを含む)リクエストを取得できますか?

4

1 に答える 1

2

ドキュメントはこちら:

3.1.18 コントローラーメソッド引数の @RequestPart アノテーション

この新しい注釈は、「multipart/form-data」リクエスト パーツのコンテンツへのアクセスを提供します。セクション16.10.5「プログラムによるクライアントからのファイルアップロードリクエストの処理」およびセクション16.10「Spring のマルチパート (ファイルアップロード) サポート」を参照してください。

于 2012-05-04T13:38:36.627 に答える