Устранено исключение, вызванное выполнением обработчика: org.springframework.web.bind.MissingServletRequestParameterException: - PullRequest
0 голосов
/ 27 июня 2018

У меня есть этот скрипт, который отправляет имя источника и номер политики на мой контроллер 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);
    }

Исключение консоли : Console Exception

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 27 июня 2018

Spring жалуется, потому что republishSource нулевой или отсутствует.

Клиент жалуется, потому что вы не фиксируете ошибку (вы упускаете улов)

$http.post(url, data, config).then(function() {}).catch(function(err) { console.log(err); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...