1

私は 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;

上記の工場は正しく設定されていると思います。create user のバックエンド REST サービスも正しく動作することを確認しました。フロントエンドには、ユーザー オブジェクトの一部である FirstName、LastName、および Email をユーザーが入力できるフォームがあります。User オブジェクトは、次のような方法で Rest サービスに送信する必要があると思います。

Step1: ユーザーのデータでオブジェクトを作成 Step2: User.createUser.query(user:)

手順が正しいかどうか、オブジェクトを正確に作成する方法が正しいかどうかはわかりません。誰かガイドラインを教えてください。ありがとうございました

4

2 に答える 2

0

リソースはアクションではなくオブジェクトを反映する必要があり、リソースは「ユーザー」と呼ばれる必要があります。作成、更新、クエリは http メソッドに反映されます。

私はそれを次のように実装します。これの大部分はドキュメントから直接引用されています - http://docs.angularjs.org/api/ngResource .$resource

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'});    

 });
于 2013-10-23T14:41:27.100 に答える