0

これは私の角度コードです。

dataService.addFrameInventory($routeParams.id, $scope.newFrameInventory)
 .then(function() {
   },
   function() {
   });

これは私の工場コードです

    var _addFrameInventory = function (frameId, newFrameInventory) {

    var params = { frameId: frameId, newFrameInventory: newFrameInventory };
    $http.post("../api/v1/FrameInventory/post", params)
       .then(function (result) {
              //success
       },
           function () {
               //error
           });
     };

これは私のAPIコントローラーです

public HttpResponseMessage Post([FromBody]FrameInventory frameInventory)
{
    _repository.Save(frameInventory);
    return Request.CreateResponse(HttpStatusCode.Created, frameInventory);
}

これは私のモデルです

public class FrameInventory
{
   Id {get; set;} //Identity column
   FrameId {get; set;}
   Supplier {get; set;}
   StockUnits {get; set;}
   StockReceivedDate {get; set;}
   StockUnits {get; set;}
   ...
}

これは私がクロムで見たものです。にすべての値がありparamsます。 しかし、「Post」メソッドでは、FrameId のみを正しく取得でき、残りは null です。パラメータの受け渡し自体に何か問題があると確信しています。単体テストを行ったので、 内のメソッドの機能に問題はありませんPost。しかし、私はそれを理解することができません。

4

1 に答える 1

0

おそらく間違ったタイプのオブジェクトを投稿しているようです。

あなたが投稿するのは、FrameInventoryオブジェクトやFrameIdその他のものを含むものを見ることを期待しています。paramsオブジェクトを含めて渡しているようです

{ frameId: frameId, newFrameInventory: newFrameInventory }

変数名だけで行くと、私は期待しています

$http.post("../api/v1/FrameInventory/post", params)

読むべき

$http.post("../api/v1/FrameInventory/post", newFrameInventory)

newFrameInventoryに対して定義した構造を持っている限りFrameInventory

于 2013-11-02T14:10:46.960 に答える