如何在Restangular Post请求中防止$变量

时间:2014-11-26 05:35:39

标签: c# typescript restangular

打字稿:

interface IFoo {
    description: string;
    id: string;
    name: string;
}

interface Foo extends IFoo {
    $myId: string;
    $type: string;
}

Restangular Call:

public myFoo: Foo;    
//after setting the value of this.myFoo
this.restangular.all("api/foo").post(this.myFoo);

服务器端(.net):

public class Foo
{
    public string Description { get; set; }
    public string Id { get; set; }
    public string Name { get; set; }
}

//Controller
[HttpPost]
[Route("")]
public IHttpActionResult Post(Foo foo)
{
    var updatedFoo = this._fooService.SaveFoo(foo);
    return this.Ok(updatedFoo);
}

问题:

typescript restangular调用中的我的变量(this.foo)包含所需的所有信息。但在控制器内部变量" foo"未定义或为null。我尝试改变" this.myFoo"的类型。在我的打字稿界面" IFoo"它的工作原理。如果我错了,请纠正我,但我认为以前这不是restangular的问题,因为他们在post请求中不包含带有$符号的其他变量。我最近更新了我的restangular所以也许这是其中一个原因?这是可配置的吗?

1 个答案:

答案 0 :(得分:0)

变量不一致。是myFoo还是foo

public myFoo: Foo;    
//after setting the value of this.myFoo
this.restangular.all("api/foo").post(this.foo);

尽管错误的this很可能是一个问题。更多:https://www.youtube.com/watch?v=tvocUcbCupA