Angularjs, JavaEE和http请求继承对象

Angularjs, JavaEE and http request with inherited objects?

本文关键字:请求 继承 对象 http JavaEE Angularjs      更新时间:2023-09-26

我在webapp上工作,找不到我的问题的解决方案或例子。我使用AngularJS, RestServis和JavaEE。我的问题是如何发送继承对象与superObject

在java中我有两个类:

public class User{
protected String userName; 
protected String userSurename;  
..
..
}

第二个类是子类

public class Worker extends User{
protected int idWorker; 
protected String position; 
..
..
}

在Angular控制器中我有

$scope.user = {
userName : "jon" ,
userSurename :"dep"  }
$scope.worker= {
idWorker: 88 ,
position: "seller"  }

,我使用http协议在服务器端发送数据,像这样

this.saveWorker = function(worker) {
    return $http({
    method:'post',
    url:this.apiBasicUrl,
    contentType: "application/json",
    data: worker
    });
};

如何在Angular的数据中放置一个对象,并在Java端获得带有用户数据的工作对象?我能不能,像java中的对象一样,用继承的方式在angular中生成

在Angular方面,我建议使用$resource与REST API通信:

var Worker = $resource('/worker/:workerId', {workerId:'@id'});
//get
var worker = Worker.get({workerId:123}, function() {
    worker.abc = true;
    //save
    worker.$save();
});

在服务器端,你应该有一个REST端点来接收这些对象:

@Path("/worker")
public class WorkerService {
    @GET
    @Path("{workerId}")
    public Worker getWorker(@PathParm("workerId") Integer workerId) {
        //implement
    }
    @POST
    public void saveWorker(Worker worker) {
        //implement
    }
}

这可能无法开箱运行。您很可能需要Jackson提供程序来启用REST将JSON"转换"为Java对象。

请看下面的例子:http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/