tesla v1.3.2 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
Link to this section Functions
Decode response body as JSON.
It is used by Tesla.Middleware.DecodeJson
.
Encode request body as JSON.
It is used by Tesla.Middleware.EncodeJson
.