Я проверил различные существующие вопросы, на которые была задана аналогичная проблема, но я не получил никакой помощи в решении моей проблемы. На самом деле я не могу использовать @RequestBody как в этом вопросе или этого одного.
Я пытаюсь использовать некоторые параметры от Angular controller до Spring MVC-контроллера, но я получаю это сообщение об ошибке errorCode:500 message:"Required String parameter 'licenceplate' is not present"
вот моя Угловая служба:
myApp.httpEnterVehicle = function(levelNumber, placeNumber, licenceplate, placeType) {
return $http.put("/myApp/rest/vehicle/entervehicle", {
params : {
'licenceplate' : licenceplate,
'placeType' : placeType,
'placeNumber' : placeNumber,
'levelNumber' : levelNumber
},
});
};
и ничто не было обнаружено на моей внутренней стороне, которая кажется странной
@RequestMapping(value = "/entervehicle", method = RequestMethod.PUT)
public ResponseEntity<Void> enterNewVehicle(@RequestParam("licenceplate") String licenceplate, @RequestParam("placeType") String placeType, @RequestParam("levelNumber") int levelNumber, @RequestParam("placeNumber") int placeNumber){
....
}
вы хоть понимаете, что происходит? Я уже пробовал проверить содержимое моего углового параметра обслуживания, и они верны :(
У вас неправильный запрос запроса на запрос, он должен выглядеть следующим образом:
$http.put('url', //1st parameter
{}, //request body
{} //request configuration here
);
Если сравнить вас текущий put
позвонить вы можете увидеть, что не так, что вы делали. Вам просто нужно передать {}
(пустой объект) в тело запроса передать свой объект конфигурации вместо request body
myApp.httpEnterVehicle = function(levelNumber, placeNumber, licenceplate, placeType) {
return $http.put("/myApp/rest/vehicle/entervehicle",
{}, //added blank object as request body
{
params : {
'licenceplate' : licenceplate,
'placeType' : placeType,
'placeNumber' : placeNumber,
'levelNumber' : levelNumber
},
});
};