Угловой номер 7 http.post JSON, отправленный в виде строки - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть угловой класс, определенный со свойством (тайм-аут) типа 'число':

export class EngineSpec {
    name: string;
    base_url: string;
    version: string;
    timeout: number;
    tls: boolean = false;
    user_agent: string;
  }

Однако, когда я http.post экземпляр этого класса, свойство отправляется в виде строки:

{"tls":false,
  "name":"local-vm",
  "base_url":"http://localhost:2367",
  "version":"1.3",
  "timeout":"60"
}

Есть идеи, почему число отправляется в виде строки JSON?

1 Ответ

0 голосов
/ 12 ноября 2018

Оказывается, это, вероятно, проблема с Material Angular. Ранее я не указывал «тип» для элемента ввода. Когда я добавляю 'type = number' (как показано ниже), JSON представляет тайм-аут как число. Я думаю, что поскольку базовый класс представляет время ожидания как число, что-то в конвейере процесса преобразовало бы входные данные в число. В любом случае, указание типа для элемента ввода устранило мою проблему.

  <mat-form-field>
    <input matInput #input [readonly]="editing?null:''" [(ngModel)]="engineSpec.timeout" placeholder="Timeout" type="number"/>
    <mat-hint align="end">Enter timeout (in seconds) for API calls to this engine.</mat-hint>
  </mat-form-field>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...