2016-09-05 3 views
0

비슷한 문제에 대해 묻는 기존의 다른 질문을 확인했지만 문제에 대한 도움을받지 못했습니다. 실제로이 경우 @RequestBody를 사용할 수 없습니다 question 또는이 one필수 문자열 매개 변수 'licenceplate'가 없습니다. "

나는 스프링 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 
     }, 
    }); 
}; 

아무것도 발견되지 않았다. 내 백엔드 측의 d가 이상하게 보입니다.

@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){ 
.... 
} 

무슨 일이 일어나는지 생각해보십시오. 난 이미 시도 TOC 내 각도 서비스 PARAM의 내용을 확인하고 당신은 잘못된 PUT 요청 호출, 그것은

$http.put('url', //1st parameter 
    {}, //request body 
    {} //request configuration here 
); 

당신이 현재를 비교하면 아래처럼 보일 것이 put 당신이 할 수있는 전화

답변

0

:(올바른지 요청한 본문에 {} (빈 객체)을 전달해야합니다. 설정 객체를 전달하십시오. 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 
     }, 
    }); 
}; 
관련 문제