phoenix_swagger
phoenix_swagger copied to clipboard
How to send binary data as application/octet-stream content type?
Problem statement
I'm unable to send binary data as application/octet-stream content type. Following is the information I have added to swagger_path
swagger_path :create do
post "/data"
tag "POST Data"
summary "POST data"
description "Send data"
consumes "application/octet-stream"
produces "application/octet-stream"
parameter :Body, :binaryData, :file, "The file to upload", required: true
response 200, "Ok"
response 400, "Bad request"
response 401, "Unauthorized"
end
When I upload a file and execute the command, I'm seeing following error
[info] module=Plug.Logger POST /data/
[info] module=Plug.Logger Sent 406 in 631µs
[debug] module=Plug.Debugger ** (Phoenix.NotAcceptableError) no supported media type in
accept header.
Expected one of ["octet-stream"] but got the following formats:
* "application/octet-stream" with extensions: ["bin", "lha", "lzh", "exe", "class", "so", "dll", "img",
"iso"]
Here is the curl command which I would like to generate
curl -X POST \
http://localhost:8000/data -H 'Content-Type: application/octet-stream' --data-binary @conn.dat
To clarify, you are trying to upload from swagger-ui and seeing this error, but it works as expected when using CURL?
@mbuhot Yes. You got it right.
@mbuhot any update?
@sheshankkodam I suspect the issue is with swagger-ui.
Maybe try forking the repo and updating the swagger-ui assets to the latest version.