2016-12-17 7 views
0

私はLaravel(5.3.28)を習得しようとしています。私の最初のAPIルートが動作しないという問題が発生しています。私はLaravelのドキュメントに続き、新しいプロジェクトを作成し、Laravelのスプラッシュ画面に移動して、動作していることを示します。私は、エンドポイントを消費することができるかどうかをテストするroutes/api.phpに次のルートを追加し、私はエラーを取得:Laravel新しいAPIが動作しない

ルート/ api.php

Route::get('foo', function() { 
    return 'Hello World'; 
}); 

エラー

NotFoundHttpException in RouteCollection.php line 161: 

Webサーバー用にXAMPPを実行する専用のCentOSボックスがあります。エンドポイントに到達するアドレスはhttp://10.0.0.200/test/api/public/fooです。

私の.htaccessファイルを編集する必要がありますが、私が見つけた例はほとんどありませんので、私は何をすべきかについて少し分かりません。ここで

php artisan route:listための出力です:

+--------+----------+----------+------+---------+--------------+ 
| Domain | Method | URI  | Name | Action | Middleware | 
+--------+----------+----------+------+---------+--------------+ 
|  | GET|HEAD |/  |  | Closure | web   | 
|  | GET|HEAD | api/foo |  | Closure | api   | 
|  | GET|HEAD | api/user |  | Closure | api,auth:api | 
+--------+----------+----------+------+---------+--------------+ 
+0

ルートディレクトリに 'path/to/laravel/public'を設定するようにWebサーバーを設定する必要があります。 –

+0

私は 'httpd.conf'ファイルでそれを行いますか? – Mike

+0

http:// 10.0.0.200/api/foo – C2486

答えて

1

10.0.0.200/test/api/publicは、私が想定し、ルートURLです。もしそうなら、10.0.0.200/test/api/public/api/fooを打つ必要があります

私はあなたのプロジェクトがtest/apiフォルダにあると思います。必要なのはapacheを再構成することです\ nginxすべてをルーティングする10.0.0.200/test/へのリクエストは、{webser root}/test/api/publicに移動し始めます。これはWebサーバーの設定ファイルで行われます

0

Laravelはartisanコマンドを使用して、組み込みWebサーバーの実行などのいくつかの開発タスクを実行します。これは、ビルトインWebのURLをあなたに気付くはず

php artisan serve 

:あなたは( artisanスクリプトが配置されている)、プロジェクトのルートディレクトリ内に新しいターミナルを開いて、これを行うと、以下のコマンドを実行することができますサーバ。 Webブラウザからアクセスできます。一般的に http://localhost:8000

このようにすれば、http://localhost:8000/fooに向かうルートにアクセスでき、Hello worldというページがあなたのクロージャーであなたのリターンとして見つかるはずです。

+0

私はすべてのLaravelファイルを持つ別のボックスを使用しています。私はlaravelを開発し、プロダクションファイルを入手する最善の方法は不明です。だから私は自分のWebサーバーを使って開発しています。 – Mike

関連する問題