0
MultipartFile
とフォームオブジェクト(bean)の両方が必要なURIを作成しようとしています。@RequestPartパラメーターを使用したフォームオブジェクトの結果404
方法は、次のコードで働いていた:
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void create(@RequestPart MultipartFile file,
@RequestPart String form) {
// ...
}
そして次コマンドカール:
curl -X POST http://localhost/files \
-F [email protected]:\path\to\file \
-F form={"x":0,"y":0,"width":512,"height":512}
しかし、すぐに、私は豆で文字列を置換しようとして、私が手404応答。
豆と、動作しない、コードを変更:
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void create(@RequestPart MultipartFile file,
@RequestPart ClipForm form) {
// ...
}
カールで各パートのContent-Typeヘッダを追加することを支援していないようです:
curl -X POST http://localhost/files \
-F [email protected]:\path\to\file;type=multipart/form-data \
-F form={"x":0,"y":0,"width":512,"height":512};type=application/json
私はおそらく午前Springが要求をこのメソッドにマップしていないと思うようにするものがありませんでしたが、これまでは何も取得できません。 カールコマンドのすべてを引用し、bashのを使用して何らかの理由で
あなたのカール文字列に 'type-type'を' type'してはいけませんか? –
いいえ、「タイプ」は、マルチパートリクエストの場合にパーツのコンテンツタイプを指定するために使用されます。 [cURLマンページ](https://curl.haxx.se/docs/manpage.html#-F)を参照してください。あなたのリクエストマッピングに – kagmole
がありますが、 '/ファイル'の部分は指定されていません。 –