Wrong format of POST request body data
sytolk opened this issue · 0 comments
sytolk commented
I have POST Endpoint from WS that accept application/x-www-form-urlencoded
"consumes": [
"application/x-www-form-urlencoded"
]
and generated React client
CodeGen.getReactCode({
moduleName: className,
className,
swagger,
isES6: true
});
When I call this request header Content-Type: application/x-www-form-urlencoded is missing and body data is JSON formatted {param1=.., param2=..} instead of: param1=..,param2=..
this is the fetch request in my generated code. Body is always JSON string
fetch(urlWithParams, {
method,
headers,
body: JSON.stringify(body)
})
My ugly quickfix is:
if (body && !Object.keys(body).length) {
body = form;
}
fetch(urlWithParams, {
method,
headers,
body: Object.keys(body).map(key=>encodeURIComponent(key)+'='+encodeURIComponent(body[key])).join('&')
})