NSwag Angular 5如何获得json响应?

时间:2018-05-20 22:53:01

标签: json typescript angular5 nswag

我正在访问api,并且我使用NSwagStudio生成了api调用的类型脚本版本以用作服务。我从服务器得到响应,似乎工作正常,但我不知道如何使用响应访问json文件。我尝试订阅我正在调用的方法,但我总是将null作为响应。任何帮助或指导都将受到赞赏。

以下是NSwagStudio生成的代码示例以及我订阅响应的实现。

apiSubmissionGetResultMessageGet(...) {    
protected processApiSubmissionGetResultMessageGet(response: HttpResponseBase): Observable<void> {
        const status = response.status;
        const responseBlob = 
            response instanceof HttpResponse ? response.body : 
            (<any>response).error instanceof Blob ? (<any>response).error : undefined;

        let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }};
        if (status === 200) {
            return blobToText(responseBlob).flatMap(_responseText => {
            return Observable.of<void>(<any>null);
            });
        } else if (status !== 200 && status !== 204) {
            return blobToText(responseBlob).flatMap(_responseText => {
            return throwException("An unexpected server error occurred.", status, _responseText, _headers);
            });
        }
        return Observable.of<void>(<any>null);
    }

}

这就是我试图订阅的地方:

getSubmissionDetails(string): void {
this.client.apiSubmissionGetSubmissionDocumentGet('documentId')
  .subscribe(
    data => {
      this.submissionList = this.submissionList;
      console.log('data: ', data);
    },
    (error: any) => this.errorMessage = <any> error);

}

1 个答案:

答案 0 :(得分:0)

返回类型为Observable<void>,这意味着它不会返回任何内容......

检查操作在swagger规范中是否有响应类型并重新生成。