2017-12-12 11 views
0

Angular5で提供されている最新のHttpClientコンポーネントを使用してローカルjsonの取得リクエストを行いましたが、その後404が取得されています。私はすでにHttpClientModuleモジュールを私のapp.module.tsに輸入しています。フォルダ構造の角度:HttpClientを使用してローカルjsonを取得できません

スナップショット:

enter image description here

私はblog-list.jsonのためのブログ - 詳細コンポーネントからの呼び出しを行っています。ここに私のコードは次のとおりです。

constructor(private http: HttpClient) { 
    } 

    ngOnInit(): void { 
    // this.http.get('https://jsonplaceholder.typicode.com/posts/1').subscribe((data:Blog[]) => { 
    this.http.get('app/api/blog-list.json').subscribe((data:Blog[]) => { 
     this.blogs = data; 
    }); 
    } 

私は次のエラーを取得する:

GET http://localhost:909/app/api/blog-list.json 404 (Not Found) 

私はhttp://localhost:909/src/app/api/blog-list.jsonを押すことで、直接ブラウザでファイルを開こうとしても、私は、アプリケーションが代わりにJSONファイルをそこに務め得ます。

ウェブ上の残りのAPIへのコメント付きリクエストは成功しましたが、ローカルのjsonファイルへの呼び出しでは失敗します。

+0

ファイルシステムではなくローカルWebサーバーからjwonにアクセスしようとしていることを確認してください。 WebクライアントはWebサーバーへのhttp呼び出しを行うことです –

+0

@AniruddhaDas私はdevモードでアプリケーションを実行していますか?私は間違った方法でそれをしていますか? –

+0

(1)ファイルがサーバー上の適切な場所に存在すること、(2)サーバープロセスがディスク/ファイルにアクセスできること(場合によってはこれに該当)、(3)apt MIMEメディアタイプがJSON "application/json" – Abhi

答えて

1

私はこれを修正することができましたが、それはなぜそれが最初に起こったのかちょっと奇妙です。

このため、.angular-cli.jsonを更新し、assetsプロパティのapiフォルダへのパスを追加する必要がありました。アセットプロパティは次のようになります:

"assets": [ 
    "assets", 
    "app/api", 
    "favicon.ico" 
] 
関連する問題