CastParams v0.0.3 CastParams View Source

Plug for casting request params to defined types.

Usage

defmodule AccountController do
  use AppWeb, :controller
  use CastParams

  # define params types
  # :category_id - required integer param (raise CastParams.NotFound if not exists)
  # :weight - float param, set nil if doesn't exists
  cast_params category_id: :integer!, weight: :float

  # defining for show action
  # *:name* - is required string param
  # *:terms* - is boolean param
  cast_params name: :string!, terms: :boolean when action == :show
    
  # received prepared params
  def index(conn, %{"category_id" => category_id, "weight" => weight} = params) do
  end

  # received prepared params
  def show(conn, %{"category_id" => category_id, "terms" => terms, "weight" => weight} = params) do      
  end
end

Supported Types

:boolean, :integer, :string, :float, :decimal

Link to this section Summary

Functions

Stores a plug to be executed as part of the plug pipeline

Link to this section Functions

Link to this macro cast_params(args) View Source (macro)

Stores a plug to be executed as part of the plug pipeline.