Angular 如何创建重新启动的服务来更新数据

Angular 如何创建重新启动的服务来更新数据,angular,symfony,restangular,Angular,Symfony,Restangular,您好,我正在尝试创建一个使用restangular更新数据的服务 import {Injectable} from '@angular/core'; import {Project} from '../model/index'; import {id} from '@swimlane/ngx-datatable/release/utils'; import {Restangular} from 'ngx-restangular'; @Injectable() export class upda

您好,我正在尝试创建一个使用restangular更新数据的服务

import {Injectable} from '@angular/core';
import {Project} from '../model/index';
import {id} from '@swimlane/ngx-datatable/release/utils';
import {Restangular} from 'ngx-restangular';

@Injectable()
export class updateprojectService {
constructor (private restangular: Restangular) {}
update(project: Project) {
    return this.restangular.all('projects').customPUT(project,  {'id': project.id}, undefined, {'Content-Type': undefined});
}
}
我发现了这个错误


可能错误在于在您正在构建的路由中指定id,该路由将URL放错了位置,请注意它的最后部分
/[object%20Object]
,javascript就是这样打印对象引用的

我相信它应该是一个id,所以它应该是
/projects/55

根据重新启动的文档,
customPUT([elem,path,params,headers])
,第二个param是一个路径,这就是为什么您会遇到这个问题,您正在将一个对象传递给一个路径


{'id':project.id}
更改为
project.id
如果您想要一个像
/projects/55
这样的url,您正在构建一个错误的url,请注意它的最后一部分
/[object%20Object]
,这就是javascript打印对象引用的方式

我相信它应该是一个id,所以它应该是
/projects/55

根据重新启动的文档,
customPUT([elem,path,params,headers])
,第二个param是一个路径,这就是为什么您会遇到这个问题,您正在将一个对象传递给一个路径

如果您想要像
/projects/55这样的url,请将
{'id':project.id}
更改为
project.id