tesla v1.3.0 Tesla.Middleware.JSON View Source
Encode requests and decode responses as JSON.
This middleware requires jason (or other engine) as dependency.
Remember to add {:jason, ">= 1.0"}
to dependencies
Also, you need to recompile tesla after adding :jason
dependency:
mix deps.clean tesla
mix deps.compile tesla
Example usage
defmodule MyClient do
use Tesla
plug Tesla.Middleware.JSON # use jason engine
# or
plug Tesla.Middleware.JSON, engine: JSX, engine_opts: [strict: [:comments]]
# or
plug Tesla.Middleware.JSON, engine: Poison, engine_opts: [keys: :atoms]
# or
plug Tesla.Middleware.JSON, decode: &JSX.decode/1, encode: &JSX.encode/1
end
Options
:decode
- decoding function:encode
- encoding function:encode_content_type
- content-type to be used in request header:engine
- encode/decode engine, e.gJason
,Poison
orJSX
(defaults to Jason):engine_opts
- optional engine options:decode_content_types
- list of additional decodable content-types
Link to this section Summary
Functions
Decode response body as JSON. Used by Tesla.Middleware.DecodeJson
Encode request body as JSON. Used by Tesla.Middleware.EncodeJson
Link to this section Functions
Decode response body as JSON. Used by Tesla.Middleware.DecodeJson
Encode request body as JSON. Used by Tesla.Middleware.EncodeJson