Трудно решить,
в настоящее время я отправляю данные как 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 content-type
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($this->arguments));
длина содержимого больше для небольших сообщений, но со встроенным json, он явно лучше
Но x-www-form-urlencoded также близок к данным форм, которые мне нужно отправить, за исключением случаев, когда json встроен
Было бы не изящно иметь 2 разных метода анализа сервлетов в зависимости от типов содержимого, так есть ли еще один вариант?