ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Elixir Maru REST API
@kohei_kimura
@kohei_kimura
? IDC
IoT
@kohei_kimura
kohei-kimura
kohei-kimura.github.io
? Visual Studio Code
-> ->
IDCF Cloud - One coin IaaS
Elixir
|>
|>
|> Ruby
|> mix
Today¡¯s topic:
|> REST API
|> grape (Ruby)
|> Phoenix
|> HTTP
|>
|>
NOT do?
|>
|>
What does
Getting Started
# mix.exs
defp deps do
[ {:maru, "~> 0.11"} ]
end
def application do
[ applications: [:maru] ]
end
$ mix deps.get
$ iex -S mix
Dummily
|> Maru
|> JSON
|> kohei-kimura/dummily
case uri do
¡°/users¡± ->
¡°/users/1¡± -> ID 1
¡°/users?username=john¡± -> john
end
Dummily
defmodule Dummily do
defmodule Dummily.Router.Users do
use Maru.Router
namespace :users do
version "v1" do
params do
optional :username, type: String
optional :email, type: String
optional :posts, type: Integer
optional :sort, type: Atom, values: [:username, :id, :posts], default:
:id
end
get do
users = all_users() |> filter(params) |> sort_by(params[:sort])
conn |> put_status(200) |> json(users)
end
route_param :id, type: Integer do
get do
users = all_users() |> filter(params)
conn |> put_status(200) |> json(users)
end
end
end
end
end
|> Maru: REST API /DSL
|> / Phoenix
|>
|> REST API
|>
|> API GW
- Links
Awesome Elixir - github.com/h4cc/awesome-
elixir
|> Elixir, Erlang
Elixir School - elixirschool.com
|> Twitter Scala School
Elixir org - elixir-lang.org/docs
|>
Enjoy your Elixir programming!
Please follow me! ->

More Related Content

Elixir ¤È Maru ¤Ç REST API