gpt4 book ai didi

java - 如何将用户定义的对象从 angularjs 传递到 REST 服务

转载 作者:行者123 更新时间:2023-12-01 04:14:43 25 4
gpt4 key购买 nike

我对 Anuglar JS 相当陌生,所以在回答这个问题时请记住这一点。我的目标是在 oracle 数据库中创建并保留一个新用户。我的前端是用 AngularJS 编写的。 REST 服务(使用 JERSEY)已经就位,方法签名如下:

 @POST
@Path("/create/{user}")
public void createUser(@QueryParam("user") User user){ ...}

具有 REST 调用的 AngularJS Factory 如下所示:

angular.module('app.services', ['ngResource'])
.factory('User', function($resource)
{
return
{
createUser: $resource('/myurl/create/:user', {}, {
query: {
method: 'POST',
params: {user: '@user'},
isArray: false
}
})
});

User.java 具有以下属性:

private String firstName;
private String lastName;
private String email;

我相信上述工厂设置正确。我已经验证创建用户的后端 REST 服务也可以正常工作。前端有一个表单,允许用户输入名字、姓氏和电子邮件,这些应该是用户对象的一部分。我认为 User 对象应该通过以下方式提交给 Rest 服务:

第一步:用用户数据创建一个对象Step2:User.createUser.query(user:)

我不确定这些步骤是否正确,如果正确,那么到底如何制作该对象。有人可以提供一些指导方针吗?谢谢

最佳答案

您的资源应该反射(reflect)对象而不是操作,您的资源应该称为“用户”。创建、更新、查询都体现在http方法中。

我会像这样实现它。其中很大一部分是直接从文档中提取的 - http://docs.angularjs.org/api/ngResource .$资源

angular.module('app.services', ['ngResource'])

.controller('MyController', function(User) {

// Query userID 123, change the firstname and lastname then save.
var user = User.get({userId:123}, function() {
user.firstname = "joe";
user.lastname = "bloggs";
user.$save();
}

// Create a new user like this.
var anotherUser = new User({
username: 'joe.bloggs',
email: 'joe.bloggs@example.com',
firstname: 'joe',
lastname: 'bloggs'
});

anotheruser.$save();
})

.factory('User', function($resource)
{
// Represent the user resource.
return $resource('/myurl/create/:userId', {userId:'@id'});

});

关于java - 如何将用户定义的对象从 angularjs 传递到 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19543654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com