2017-08-24 17 views
0

私はアプリケーションのAPIを作成しています。今度はアプリの開発者が固定ベースURLを作成し、POST変数としてROUTE NAME(コントローラー関数を指す)を渡したいと思っています。例:クエリ文字列またはポスト変数に基づくLaravelコールコントローラ

よう

http://example.com/Api

とPOST変数:

action=>'ROUTE_NAME' 

しかしlaravelに、私たちのようにURLの一部に基づいてルートを定義することができます。

http://example.com/Api/ROUTE_NAME

私は1つのコントローラを使用し、SWITCHステートメントに基づいて他のコントローラをロードしようとしました。しかし、私は新しいAPIを作成するたびにスイッチ条件を追加する必要があるため、これは標準的な方法ではないようです。また、ミドルウェアはロードされたコントローラでは動的に動作しません。 これを達成するための方法はありますか?私はあなたが要求をリダイレクトし、その後、あなたはその名前のルートのURLを見つけるために、Route()ヘルパー関数を使用することができ、$requestからROUTE_NAMEを取得/Apiルート、上でリッスンmiddlewareを実装することができlaravel 5.4

+0

バックJSONレスポンスを返します –

+0

@GauravRai "Api"はすでに接頭辞です。私は必要なのは、すべてのAPIのためのhttp://example.com/Apiであり、アクションパラメータに基づいてコントローラをロードする固定URLです。 –

答えて

0

を使用していますそのルートに

何かのように:あなたはそれが見つからない場合は処理するコードを追加する必要があります明らかに

// Generating ROUTE_NAME url... 
$url = route($request->route_name); 

// Redirect to that route... 
return redirect()->route($url); 

ルートなど、多分など適切なエラーコード

関連する問題