我遇到一种情况-在具有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控制器如何配置?

09-15 12:10