2014-11-04 4 views
0

복잡한 JSON 객체로 POST 요청을 프런트 엔드 애플리케이션에서 백엔드로 보내려고합니다.POST가 초박형 인 경우

맨 끝 쪽

나는라는 클래스 NotificationService하고 다음과 같은 방법이라는 writeNotification 있습니다

@POST 
@Path(SERVICE_PATH_WRITENOTIFICATION) 
public Response writeNotification(@FormParam("notification") String notification) 

전면 측

나는이 보내

var obj = [ { 
    to : $scope.formComboDestinatari.listaDestinatari, 
    subject : $scope.formOggetto, 
    date : "xxx", 
    body : $scope.formTesto, 
    type : $scope.formComboTipologia 
} ]; 

나는이 구문을 사용하는 경우 : 나는이 오류가 요청을 보내려고하면

Restangular.one('serverpath/writenotification').post(obj); 

을 :

500 internal server error

나는이 구문을 사용하는 경우 :

Restangular.one('serverpath').post('writenotification', obj); 

400 Bad request

내 잘못은 어디있어?

답변

0

해결되었습니다.

나는 두 번 잘못되었습니다.

제 :

obj VAR은 [] 때문에 배열을 나타내는 한 안된다.

그래서 정의 VAR이된다 :

var obj = { 
    to : $scope.formComboDestinatari.listaDestinatari, 
    subject : $scope.formOggetto, 
    date : "xxx", 
    body : $scope.formTesto, 
    type : $scope.formComboTipologia 
}; 

이 두 번째 :

$http({ 
    url : "pathserver/writenotification", 
    method : "POST", 
    data : obj, 
    headers : { 
     "Content-Type" : "application/json; charset=utf-8", 
     "Accept" : "application/json" 
    } 
}).success(function(data) { 
    $scope.items = data; 
    alert('Notifica inviata'); 
}).error(function(data) { 
    alert('Invio notifica fallito'); 
}); 
대신 Restangular의

가 지금은 이런 식으로 $ HTTP를 사용