It's hard to decide,
currently I'm sending data as x-www-form-urlencoded with php lib curl with
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($this->arguments));
or
curl_setopt($curl, CURLOPT_POSTFIELDS, $this->arguments);
first question: second one seems to be larger content length, first solution is probably better?
It's practical for flat messages like:
{
"name": "John",
"token": "2121232145",
"code": "7",
"data": "Hello"
}
But I can have also a data field that represent a object, in this case I was enconding it, but doing that (url encoding a Json) is terribly verbose and ugly messages,
On the other side I tried sending it as application/json content-type
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($this->arguments));
the content-length is larger for small messages but with embedded json, it's clearly better
But x-www-form-urlencoded is also close to the forms data I need to send, except when a json is embedded
It would not be elegant to have 2 differents servlet parse methods depending on the content types, so is there another option?