如何仅使用Restangular设置一些字段?

Kon*_*rus 6 javascript rest angularjs restangular

假设我有一个包含多个字段的资源,其中一些是只读的.或者它们可能属于我想在服务器上以不同方式处理的不同用例.

例如,我的bing资源如下所示:

{id: 1,
 foo: "A", 
 bar: "B", 
 createdAt: "2013-05-05"}
Run Code Online (Sandbox Code Playgroud)

我想让Restangular到PUT只有一些字段,执行如下请求:

PUT /bing/1 {foo: "A"}
PUT /bing/1 {bar: "B"}
PUT /bing/1 {foo: "A", bar: "B"}
Run Code Online (Sandbox Code Playgroud)

我确实希望做的是:

PUT /bing/1 {id: 1, foo: "A", bar: "B", createdAt: "2013-05-05"}
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现它?

mgo*_*nto 22

我是Restangular的创造者.

@Nicholas绝对正确:).那是PATCH而不是PUT.而Restangular确实支持它:).

elem.patch({foo: 2})如果elem已经是一个restangularized对象,那就是要走的路.

希望这可以帮助!!


Nic*_*nks 6

PATCH不是一个PUT.

请参阅https://tools.ietf.org/html/rfc5789