コンテントタイプ(Content-Type) とは、HTTP通信のヘッダ情報のひとつで、リクエストボディ、またはレスポンスボディのデータ形式が何かを表す情報です。正式にはメディアタイプ(Media Type)と呼ぶらしいです。(コンテンツタイプと呼んでいる人も案外多いけど、私はコンテントタイプと呼びたい、、)
| MIMEタイプ(タイプ/サブタイプ) | 用途 |
|---|---|
| application/json | API の標準(JSON) |
| text/plain | ただの文字列 |
| text/html | HTML ページ |
| application/xml | XML |
| multipart/form-data | ファイルアップロード |
| application/x-www-form-urlencoded | HTML フォーム |
| application/octet-stream | バイナリ |
MIMEタイプと文字コードの関係
MIMEタイプの後ろにセミコロン(;)で区切って追加情報(パラメータ)を添える事ができるルールがあり、MIMEタイプによっては文字コードを指定します。
(例: Content-Type: text/html; charset=UTF-8)
Spring MVCはControllerの戻り値の型で自動決定します。produces属性で以下のように無理やりjsonに指定したところで返却データがjsonに変換されるものではありません。

