Γρήγορη αναφορά

Φύλλο οδηγιών Phoenix Routing

Γρήγορος οδηγός αναφοράς για το Phoenix Router: ρήματα HTTP, πόροι resources, συναρτήσεις βοήθειας, ένθετοι πόροι και scopes.

· Δημοσιεύτηκε

Το Phoenix Router παρέχει εκφραστική δρομολόγηση για την αντιστοίχιση αιτημάτων HTTP σε ενέργειες ελεγκτών μέσω pipelines.

Επιθεώρηση διαδρομών (Inspecting Routes)

# Εκτυπωση ολων των διαδρομων
mix phx.routes

Δρομολόγηση πόρων (Resource Routing)

# Δημιουργει ολες τις τυπικες RESTful ενεργειες
resources "/users", UserController

# Περιορισμος δημιουργουμενων ενεργειων
resources "/posts", PostController, only: [:index, :show]
resources "/comments", CommentController, except: [:delete]

Αντιστοίχιση παραγόμενων διαδρομών RESTful

HTTP Verb Path Action Helper Function
GET /users :index Routes.user_path(conn, :index)
GET /users/new :new Routes.user_path(conn, :new)
POST /users :create Routes.user_path(conn, :create)
GET /users/:id :show Routes.user_path(conn, :show, id)
GET /users/:id/edit :edit Routes.user_path(conn, :edit, id)
PUT / PATCH /users/:id :update Routes.user_path(conn, :update, id)
DELETE /users/:id :delete Routes.user_path(conn, :delete, id)

Ένθετοι πόροι (Nested Resources)

resources "/users", UserController do
  resources "/posts", PostController
end

Παραγει ενθετες συναρτησεις βοηθειας:

# Routes.user_post_path(conn, :index, user_id)
# Routes.user_post_path(conn, :show, user_id, post_id)

Εμβέλειες και σωληνώσεις (Scopes & Pipelines)

pipeline :browser do
  plug :accepts, ["html"]
  plug :fetch_session
  plug :protect_from_forgery
end

pipeline :api do
  plug :accepts, ["json"]
end

scope "/api", MyAppWeb.Api, as: :api do
  pipe_through :api

  resources "/articles", ArticleController
end

Σχετικές αναφορές

Σχετικά θέματα