現象
以下のようなコードで@RestControllerをつけてリクエストを受け付けようとした時にエラーが発生しました。
@RestController
public class RestController {
@RequestMapping(value = "/post", method = RequestMethod.POST)
public ResponseEntity<?> delete(@Valid @RequestBody Form form, Errors erross) throws IOException {
HashMap<String, Object> map = new HashMap<>();
map.put("data", "");
return ResponseEntity.ok().body(map);
}
}
エラーの内容はこちらです。
WARN DefaultHandlerExceptionResolver - Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json;charset=UTF-8' not supported]
原因
またもやpom.xmlの指定漏れです。jacksonが漏れていました。
何回目やねん!と怒られそうですが、Spring MVCで作っていて途中でREST入れたので、こんな事になってしまいました。
対処
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8.1</version>
</dependency>
ちなみに対処の方法はやっぱりStack Overflowにありました。
https://www.fatalerrors.org/a/content-type-application-json-charset-utf-8-not-supported.html
コメント