如何返回字符串的可观察值

时间:2019-05-09 15:47:03

标签: angular rxjs observable angular-services

具有一个返回简单字符串的api方法。我正在我的角度服务中实现一种方法,该方法需要返回可观察的

简单字符串不会直接映射到可观察对象中。如何从api返回简单字符串结果的可观察对象?

public setLineItemListApproval(lines : OrderLinesModel) : Observable<string>{

    let actionUrl = this.apiBaseURL + '/mycontroller/actionmethod1';
    const httpOptions = {
        headers: new HttpHeaders({
            'Content-Type':  'application/json'
        })
    };

    return this.httpClient.post<string>(actionUrl, lines, httpOptions).pipe(catchError(this.handleError));

}

2 个答案:

答案 0 :(得分:1)

您需要

  • responseType: 'text参数中加入options
  • 通过电话内联选项
  • 使用post的非通用重载作为responseType: 'text'选项,现在可以指定使用哪一个以及Observable响应中的返回类型
public setLineItemListApproval(lines : OrderLinesModel) : Observable<string>{

    let actionUrl = this.apiBaseURL + '/mycontroller/actionmethod1';
    return this.httpClient.post(actionUrl, lines, {
        headers: new HttpHeaders({
            'Content-Type':  'application/json'
        }),
        responseType: 'text'
    }).pipe(catchError(this.handleError));

}

答案 1 :(得分:0)

为此:

  1. 在options参数中添加responseType:'text'

这个简单的更改应该起作用