У меня есть этот скрипт, который отправляет имя источника и номер политики на мой контроллер Spring MVC.
$scope.doRepublish = function() {
var republishSource = $scope.republishSource
var republishPolicy = $scope.republishInput
console.log(republishSource.name);
console.log(republishPolicy);
var data = new FormData();
data.append('republishSource', republishSource);
data.append('republishInput', republishPolicy);
var config = {
transformRequest: angular.identity,
headers: {
'Content-Type': 'application/json'
}
}
var url = "/republishPolicy"
var rowCount = null;
var responseMessage = null;
$http.post(url, data, config)
.then(
function(response) {
$scope.republishPolicy = response.data;
if ($scope.republishPolicy.indexOf('Success') > -1) {
responseMessage = "success";
} else {
responseMessage = "failure";
}
$("#republish_alert_" + responseMessage).show()
});
};
Я проверил в своей консоли, что имя источника и номер политики указаны в правильном формате,
При обработке этого запроса на моем контроллере я получаю следующее исключение:
WARN 8168 --- [nio-8092-exec-7]
.w.s.m.s.DefaultHandlerExceptionResolver: устранена исключительная ситуация
по исполнению обработчика:
org.springframework.web.bind.MissingServletRequestParameterException:
Обязательный параметр String 'republishSource' отсутствует
Контроллер
@RequestMapping(path = "/republishPolicy", produces = "application/json", consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String republishPolicy(@RequestParam("republishSource") String sourceSystem,
@RequestParam("republishInput") String policyNumber)
throws JsonParseException, JsonMappingException, IOException {
System.out.println(sourceSystem + " , " + policyNumber);
return overrideProcessorDao.republishPolicy(sourceSystem, policyNumber);
}
Исключение консоли :
Любая помощь очень ценится.