multipart/form-dataでファイルのアップロードを行う時用のアノテーションです。
これまでも@RequestParamでファイルを受け取ることができていましたが、
何が違うのか。
Springのドキュメント-RequestParam(English)にもある通り、
- @RequestParam は単純なname-valueの値を扱うためのもの
- @RequestPart はJSONやXMLなど、より複雑な構造のデータを扱うためのもの
@RequestPartにしかできないことは、
@RequestPart("meta-data")で送られてくるメタ情報を受け取ることができる、ということ。
他にも違うことができるかもしれませんが、
直近で私が@RequestPartを選ぶ基準は、
メタデータで何かすることがあれば@RequestPartを使う。
としようと思います。