NSwag Angular 5, как получить ответ JSON? - PullRequest
0 голосов
/ 21 мая 2018

Я обращаюсь к API и сгенерировал с помощью NSwagStudio версию скрипта типа вызовов API для использования в качестве сервисов.Я получаю ответ от сервера и, кажется, работает нормально, но я не знаю, как получить доступ к файлу json с ответом.Я попытался подписаться на метод, который я вызываю, но я всегда получаю нулевое значение в качестве ответа.Будем благодарны за любую помощь или рекомендации.

Вот пример кода, сгенерированного 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 голосов
/ 21 мая 2018

Тип возврата: Observable<void>, что означает, что он ничего не возвращает ...

Проверьте, что операция имеет тип ответа в спецификации сваггера, и регенерируйте.

...