【问题标题】:Error in Observable<> when creating service in Angular在 Angular 中创建服务时 Observable<> 出错
【发布时间】:2021-04-06 14:14:23
【问题描述】:

我在创建 customer.service 时遇到以下错误:

类型 'boolean' 不可分配给类型 'Observable'。

'GetResponses' 仅指一种类型,但被用作值 在这里。

':' 预期。

类型 '{ this: any; 上不存在属性 'pipe' }'。

“未知”类型上不存在属性“_embedded”。

这是代码:

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Customer } from '../common/customer';
import { map } from 'rxjs/operators';
import { HttpClient } from '@angular/common/http';
 
@Injectable({
  providedIn: 'root'
})
export class CustomerService {
 
  private baseUrl = 'http://localhost:8080/api/customerDetails';
 
  constructor(private httpClient: HttpClient) { }
 
  getCustomerList(): Observable<Customer[]> {
    return this.httpClient.get<GetResponses>{this.baseUrl}.pipe(
      map(response => response._embedded.customers)
    )
  }
}
 
interface GetResponses{
  _embedded : {
    customers: Customer[];
  }
}

它使用以下类:

export class Customer {
 
    mobileno: string;
    email: string;
    mobileImei: string;
    name: string;
    sdoCode: string;
    agency: string;
    profileImage: string;
    dateCreated: Date;
    dateUpdated: Date;
}

谁能告诉我哪里可能出错了?

提前致谢!

【问题讨论】:

  • 做这个改变 - this.httpClient.get(${this.baseUrl}).pipe

标签: angular


【解决方案1】:

你只是在这里使用了错误的括号:

 get<GetResponses>{this.baseUrl}

试试这个方法:

 getCustomerList(): Observable<Customer[]> {
    return this.httpClient.get<GetResponses>(this.baseUrl).pipe(
        map(response => response._embedded.customers)
    );
 }

【讨论】:

    猜你喜欢
    • 2016-02-13
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 2013-12-13
    相关资源
    最近更新 更多