Кошмарная проблема с анализом Angular и WebApi2.2 JSON - PullRequest
0 голосов
/ 13 октября 2019

Вот в чем проблема:

Мой WebAPI 2.2 (ASP NET) имеет контроллер, который возвращает из контекста БД информацию о клиентах. Выглядит это так:

public class ClientsController : ControllerBase
{ 
   [HttpGet("[action]")]
   public  IEnumerable<Client> GetClient()
   { 
      return _context.Client;
   }
}

Приложение на стороне клиента (написанное в угловом формате) должно получить данные и отобразить их. Пока я жестко кодирую некоторые данные в контроллере, он работает нормально, но когда это _context.Client, в консоли появляется ошибка (ниже).

Угловой код:

  public clients: Client[];

  constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
    http.get<Client[]>(baseUrl + 'api/Clients/GetClient').subscribe(result => {
      console.log(result);
      this.clients = result;
    }, error => console.error(error));
  }

И ошибка: SyntaxError: Неожиданный конец ввода JSON в JSON.parse () в XMLHttpRequest.l, сообщение: сбой Http во время синтаксического анализа для http://localhost:8080/api/Clients/GetClient

Я подозреваю этот массив Client [],кто-нибудь знает что-то о подобных проблемах?

1 Ответ

0 голосов
/ 13 октября 2019

Я думаю, что вам нужно объявить ваш API как

[HttpGet]
[ActionName("GetClient")]
public  IEnumerable<Client> GetClient(){...}

Но не уверен насчет Web API 2.2, отметьте docs (*)

(*)Конечно, вы уже прочитали документы, но будьте осторожны, это не то же действие, что ActionName, и все меняется так быстро (на самом деле это ночной кошмар)

...