Трудно решить,
в настоящее время я отправляю данные как x -www -form -urlencoded с помощью php lib curl с
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($this->arguments));
или
curl_setopt($curl, CURLOPT_POSTFIELDS, $this->arguments);
первый вопрос:второе кажется большей длиной контента, первое решение, вероятно, лучше?
Это удобно для плоских сообщений, таких как:
{
"name": "John",
"token": "2121232145",
"code": "7",
"data": "Hello"
}
Но у меня также может быть поле данных, представляющее объект, в этом случае я его кодировал, но делать это (URL-адрес, кодирующий Json ), ужасно многословные и уродливые сообщения,
С другой стороны, я попытался отправить его как тип содержимого application/json -
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($this->arguments));
. длина содержимого -больше для небольших сообщений, но со встроенным json это явно лучше
Но x -www -form -urlencoded также близок к данным формы, которые мне нужно отправить, за исключением случаев, когда встроен json
Было бы не элегантно иметь 2 разных метода анализа сервлета в зависимости от типов контента, так что есть ли другой вариант?