は、基本的な作業例です...
ステップ1:
フェニックスアプリを作成します例えば、ExampleJsonためexjsonか、どんな名前あなたのような
mix phoenix.new exjson --no-ecto --no-brunch --no-html
ステップ2:ルータ を設定します
ウェブ/ router.exファイル
scope "/api/v1", Exjson do
pipe_through :api
resources "/users", UserController
end
ステップ3に、この範囲を追加します:ACどこかモックデータを入れてアプリ
priv/data/MOCK_DATA.json
ステップ4にcessible:アクション(機能)の数を持つものとしてユーザーコントローラーのがUserController
だと思うのセットアップconn structがどの パラメータと一緒にあなたのフェニックスのエンドポイントからに供給され
defmodule Exjson.UserController do
use Exjson.Web, :controller
# GET http://localhost:4000/api/v1/users/
def index(conn, _params) do
users = File.read!(file) |> Poison.decode!()
render conn, users: users
end
# GET http://localhost:4000/api/v1/users/1
def show(conn, params) do
users = File.read!(file) |> Poison.decode!()
render conn, user: users |> Enum.find(&(&1["id"] === String.to_integer(params["id"])))
end
defp file() do
Path.join(:code.priv_dir(:exjson), "data/MOCK_DATA.json")
end
end
ステップ5:UsersView
設定します。また、ユーザーの考えることができるが、適切な方法で、コントローラから受信したデータをレンダリングする機能を有していると見ます。この場合、jsonデータを使用していますので、phoenixには、そのための機能が組み込まれています。
defmodule Exjson.UserView do
use Exjson.Web, :view
def render("index.json", %{users: users}) do
render_many(users, __MODULE__, "user.json")
end
def render("show.json", %{user: user}) do
render_one(user, __MODULE__, "user.json")
end
def render("user.json", %{user: user}) do
%{
id: user["id"],
name: user["name"],
email: user["email"]
}
end
end
すぐに開始するためにレスポンスを模擬し、後で「本当の」実装に置き換えるだけでいいですか?これは生産準備ができている必要はありませんね。 –
@PatrickOscityはい、正確です。 –