我遇到一种情况-在具有Node / MongoDB后端API的Angular 2应用程序中-我希望用户能够单击“添加记录”按钮,并让REST发布请求以某种方式将该信息发送到API会创建新记录,并返回新记录的ID,然后我可以使用该ID导航到前端的新记录。
事情是这样的:我知道在发出此网络请求时如何处理传递名称或类似的事情,但是当我没有要发送的初始信息时,我将如何处理该发帖请求呢?
让我展示一下我过去的工作。
首先,这是我的服务中的创建发布请求:
createRecord(name) {
const headers = new Headers({ 'Content-Type': 'application/json' });
const options = new RequestOptions({ headers: this.headers });
const body = JSON.stringify(name);
return this._http.post
('https://api.someapiurl?apikey=someapikey',
body, options).map((res: Response) => res.json());
}
然后,在我的组件中,我正在这样做:
createRecord(name) {
const id = {name: name};
this.recordsService.createRecord(id).subscribe(
data => {
// refresh the list
this.records();
return true;
},
error => {
console.error("Error creating record...");
return Observable.throw(error);
}
);
}
我在视图中使用一个按钮,如下所示:
<button md-button class="add-button" (click)="createRecord()">Add Record</button>
我该如何处理要发出创建记录的REST请求但又不传递任何信息(即没有名称或ID等)的情况。这可行吗?只是为了澄清,这是因为用户只是单击一个按钮,他们没有输入任何值,这就是为什么我不确定如何处理此问题的原因。我可以传递一些任意值吗?
最佳答案
据我了解,您想创建没有信息的空白记录?将主体设置为空字符串时会发生什么?另一方面,您始终可以在不发送正文的情况下进行发布。后端的REST控制器如何配置?