как увидеть значения json в кране - PullRequest
0 голосов
/ 22 апреля 2020

когда я делаю что-то вроде

tap(_ => {console.log('returned contact ' + _)}),

Я вижу результаты вроде:

returned contact object/object

Я хотел бы проверить значения json

, но когда я делаю:

updateContact(contact: Contact): Observable<Contact>{
    console.log('starting ContactService.updateContact ID' + contact.id + ' name ' + contact.name);
    return this.httpClient.put(this.url, contact, { observe: 'response' })
      .pipe(
        tap(x => {let contact: Contact;
                  contact =  x.body;
                  console.log('returned contact ' + contact.id + ' '+ contact.name + ' ' + contact.email + ' ' + contact.address)}),
        map(x => {return x.body as Contact;})
    );
  }

Я не могу получить тело, содержащее контакт JSON для просмотра значений, строка

contact =  x.body;

возвращает ошибку

ERROR in src/app/service/contact.service.ts(40,23): error TS2696: The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
  Type 'Object' is missing the following properties from type 'Contact': "id", "name", "email", "address"

мой вопрос внутри касания, есть ли способ просмотреть значения в JSON? Я попытался сделать бросок et c. Однако это не сработало.

1 Ответ

0 голосов
/ 22 апреля 2020

это то, что я искал:

  updateContact(contact: Contact): Observable<Contact>{ // must be called with a subscribe to work, an An HttpClient method does not begin its HTTP request until you call subscribe() on the observable returned by that method.
    console.log('starting ContactService.updateContact ID' + contact.id + ' name ' + contact.name);
    return this.httpClient.put(this.url, contact, { observe: 'response' })
      .pipe(
        tap(x => {          
          //let contact: Contact;
                  let contact: Contact = x.body as Contact;
                  console.log('x.body ' + x.body)
                  console.log('returned contact ' + contact.id + ' '+ contact.name + ' ' + contact.email + ' ' + contact.address)
                }),
        map(x => {return x.body as Contact;})
    );
  }
...