Поскольку Alex намекнул в одном из ответов, вы можете использовать ContentNegotiationManagerFactoryBean, чтобы установить тип контента по умолчанию равным "application / json", но я чувствовал, что такой подход не для меня.
То, что я пытался сделать, - это опубликовать форму для метода, подобного этому
@RequestMapping(value = "/post/to/me", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public @ResponseBody MyJsonPOJO handlePostForm(@Valid @ModelAttribute("form") ValidateMeForm form, BindingResult bindingResult) throws ApiException {
Вместо этого я решил изменить заголовок «Принять» запроса из браузера на"application / json", тем самым заставляя SpringMVC найти мой метод.
Использование (еще не завершенного) API извлечения Javascript:
var form = new FormData();
form.append("myData", "data");
let fetchConfig = {
method: "POST",
body: form,
headers: {"Accept": "application/json"}
};
fetch("/post/to/me", fetchConfig)
.then(... // Javascript Promise API here
Et voilà!Теперь SpringMVC находит метод, проверяет форму и позволяет вернуть JSON POJO.