Сбой http при разборе строки в Angular - PullRequest
1 голос
/ 26 июня 2019

Мой метод Web API возвращает строку, и я пытаюсь использовать эту строку в приложении Angular. Я использую чванство и не имею проблем со стороны веб-API. Показывает строку в Swagger

 [HttpPut]
    [Route("UpdateUserStatus")]
    [ProducesResponseType(typeof(string), StatusCodes.Status200OK)]
    public async Task<IActionResult> UpdateUserStatus(User user)
    {
        string userUpdated = await _userService.UpdateUserStatus(user);

        return Ok(userUpdated );
    }

Я пытаюсь получить доступ к этой строке в угловом формате. Служба возвращается вот так

public UpdateUserStatus(user: User): Observable<any> {
   const url = this._url + 'UpdateUserStatus';
   return this._httpClient.put<any>(url, user);
}

 this._service
  .UpdateUserStatus(this.User)
  .subscribe((response: any) => {
    this._notificationService.info(
      response, //this is not working
      'User updated'
    );
  }, (error) => {
    this._rapNotificationService.error(
      'Update Failed. ',
      'Failed'
    );
  });

Выдает ошибку «http http:« Ошибка синтаксического анализа при разборе строки ».

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Попробуйте использовать observe: 'response' вот так

public UpdateUserStatus(user: User): Observable<any> {
   const url = this._url + 'UpdateUserStatus';
   return this._httpClient.put<any>(url, user, {observe: 'response'});
}
0 голосов
/ 26 июня 2019

Вы можете указать, что вам нужен строковый ответ, а не json (по умолчанию)

public UpdateUserStatus(user: User): Observable<any> {
   const url = this._url + 'UpdateUserStatus';
   return this._httpClient.put<any>(url, user,{responseType: 'text'});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...