Jersey RESTful Web サービス内の他のオブジェクトとともにファイルをアップロードする
問題:
Jersey を使用して単一の REST API 呼び出しで画像と従業員データを含む従業員レコードを作成したいと考えていますが、現在の実装ではChrome Postman のエラー。
答え:
ファイルのアップロードと JSON データの同時送信を有効にするには、マルチパート リクエストに JSON データを含める必要があります。コード スニペットの修正バージョンを次に示します。
@POST @Path("/upload2") @Consumes({MediaType.MULTIPART_FORM_DATA}) public Response uploadFileWithData( @FormDataParam("file") InputStream fileInputStream, @FormDataParam("file") FormDataContentDisposition contentDispositionHeader, @FormDataParam("emp") Employee emp) { //..... business login }
主な変更点は、マルチパート リクエストに従業員データを含めるために @FormDataParam("emp") を追加したことです。
追加メモ:
@POST @Path("upload2") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFileAndJSON(@FormDataParam("emp") FormDataBodyPart jsonPart, @FormDataParam("file") FormDataBodyPart bodyPart) { jsonPart.setMediaType(MediaType.APPLICATION_JSON_TYPE); Employee emp = jsonPart.getValueAs(Employee.class); }
以上がJersey RESTful WebサービスにファイルとJSONデータを同時にアップロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。