2017-03-31 3 views
2

コントローラを経由せずにルータから応答を返す方法はありますか?私は成功していないいくつかの異なる方法を試しました。コントローラなしのPhoenix router.exからの返信

scope "/health_check", ZB do 
    get "/" do 
    text conn, "ok" 
    end 
end 

get "/health_check" do 
    text conn, "ok" 
end 
+0

私はそこにいるとは思わない。 'Phoenix.Router'の全てのルーティング関連関数は' plug'と 'plug_opts'を必要とします:https://github.com/phoenixframework/phoenix/blob/master/lib/phoenix/router.ex – Dogbert

答えて

1

私は2つの作業これでhealth_check_router.exと呼ばれる新しいファイルを作成することによって、それを得た:

defmodule ZB.HealthCheckRouter do 
    use Plug.Router 

    plug :match 
    plug :dispatch 

    get "/" do 
    send_resp(conn, 200, "ok") 
    end 
end 

をしてrouter.exの下部にこれを追加する:

forward "/health_check", ZB.HealthCheckRouter 

ソース:https://elixirforum.com/t/phoenix-router-inline-controllers/727/3

関連する問題