【问题标题】:NSwag Angular 5 how to get the json response?NSwag Angular 5 如何获得 json 响应?
【发布时间】:2018-10-30 14:15:38
【问题描述】:

我正在访问一个 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);

}

【问题讨论】:

    标签: json typescript angular5 nswag


    【解决方案1】:

    返回类型是Observable&lt;void&gt;,表示它不返回任何东西...

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 2012-09-22
      相关资源
      最近更新 更多