返回AngularJS工厂的回复

时间:2016-08-26 03:29:33

标签: java angularjs rest jax-rs response

我正在尝试从服务器返回响应。

以将汽车添加到服务器为例,我的AngularJS工厂如下:

 app.factory('CarServices', function ($resource) {
 return $resource('/ws/cars', {}, {
    query: { method: 'GET', isArray: true },
    create: { method: 'POST' },
    delete: { method: 'DELETE', params: {id: '@id'} }
 })
});

然后,在我的CarController中我有这个功能:

// callback for ng-click 'addCar':
$scope.addCar= function () {
    $scope.car = { "plate": "778899", "brand": "Ferrari" };
    CarServices.create($scope.car).$promise.then(function() {
        // If success, show success message
    }, function(error) {
        // If error, show message from server
    });
}

我正在使用Java和RESTful WebServices,这是我的WebService:

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response addCar(JsonCar jc) {

 Car car = new Car(jc.getPlate(), jc.getBrand());
 if(car.getByPlate()) {
  return Response.ok().build();
 } else {

return Response.status(Response.Status.NOT_ACCEPTABLE)
            .entity("Car does not exist on database").build();
}
}

所以,我不想在控制器出现错误的情况下,显示消息“汽车在数据库中不存在”,而不是我收到此错误(console.log(错误)):

  

json.parse json数据第1行第1列的数据意外结束

谢谢。

0 个答案:

没有答案