8000 Json Payload · Issue #57 · wookay/Bukdu.jl · GitHub
[go: up one dir, main page]

Skip to content

Json Payload #57

Open
Open

Description

@devnacho

Hi @wookay,

I've updated to 0.4.1 but when receiving a JSON payload, it seems like the payload is not being parsed correctly. I followed this example https://github.com/wookay/Bukdu.jl/blob/master/examples/rest/ex2.jl

The JSON payload is something like this:

{
   "simulation":{
      "id":5927,
       "withdrawal_strategy_frequency": 1
   }
}

and it is being parsed to this type

Assoc(Pair{String,Any}["simulation"=>(id = 5927, withdrawal_strategy_frequency = 1))]

Instead of something like:

(simulation = (id = 5927, withdrawal_strategy_frequency = 1)))

Is there any reason why it might happen this?

Activity

  1. wookay commented on Jan 20, 2019

    @wookay
    Owner

    because the conn.params is a type of Assoc
    sometimes it's useful with undefined names like

    @info :payload (c.params.message, c.params.x, c.params.y)

    if you want to decode the request body directly, try this way

    using JSON2

    function create(c::RESTController)
    json = JSON2.read(IOBuffer(c.conn.request.body))
    @info :json json
    end

  2. wookay commented on Jan 23, 2019

    @wookay
    Owner

    in Bukdu v0.4.2, you could plug(Plug.Parsers, :json => Plug.ContentParsers.JSONDecoder, parsers=[:json])
    see https://github.com/wookay/Bukdu.jl/blob/v0.4.2/examples/rest/ex3.jl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0