在组件 service.ts url 中:"http://localhost:4200/data/products.json" 未找到
In Component service.ts url: "http://localhost:4200/data/products.json" not found
我在这行代码中收到 404 未找到错误 "return this.http.get('../data/products.json');"
service.ts 文件的路径是 "src\app\shared\services\product.service.ts"。 json 文件的路径是 "src\data\products.json"
这是 service.ts 代码:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
export interface Product {
id: number;
title: string;
price: number;
imageUrl: string;
description: string;
}
@Injectable()
export class ProductService {
constructor(private http: HttpClient) {}
getAll(): Observable<Product[]> {
return this.http.get<Product[]>('../data/products.json');
}
getById(productId: number): Observable<Product> {
return this.http.get<Product[]>('../data/products.json')
.pipe(
map(products => <Product>products.find(p => p.id === productId))
);
}
}
尝试将您的 json 文件夹放在资产文件夹下,如下所示:
src\assets\mock\products.json
然后您修改方法中的路径:
getAll(): Observable<Product[]> {
return this.http.get<Product[]>('assets/mock/products.json')
}
我在这行代码中收到 404 未找到错误 "return this.http.get('../data/products.json');"
service.ts 文件的路径是 "src\app\shared\services\product.service.ts"。 json 文件的路径是 "src\data\products.json"
这是 service.ts 代码:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
export interface Product {
id: number;
title: string;
price: number;
imageUrl: string;
description: string;
}
@Injectable()
export class ProductService {
constructor(private http: HttpClient) {}
getAll(): Observable<Product[]> {
return this.http.get<Product[]>('../data/products.json');
}
getById(productId: number): Observable<Product> {
return this.http.get<Product[]>('../data/products.json')
.pipe(
map(products => <Product>products.find(p => p.id === productId))
);
}
}
尝试将您的 json 文件夹放在资产文件夹下,如下所示:
src\assets\mock\products.json
然后您修改方法中的路径:
getAll(): Observable<Product[]> {
return this.http.get<Product[]>('assets/mock/products.json')
}