Отправка данных json через POST в Java API, размещенный на tomcat7, конечная точка требует MultivaluedMap, что-то добавляет "= []" в мой объект json
Во-первых, вот конечная точка, к которой я пытаюсь получить доступ:
@POST
@Path("/endpoint")
@Produces("text/plain")
public Response authentication(MultivaluedMap<String, String> formParams) {
System.out.println(formParams.toString());
String my = formParams.getFirst("my");
// rest of the code...
}
Первоначально я использовал @FormParam("jsonData"), чтобы получить мой объект json. Но тогда я должен был бы отправить мои данные так:
jsonData={"my": "json data"}
Я хотел избавиться от 'jsonData=' в начале и обнаружил, что вы можете использовать MultivaluedMap для отправки только этого:
{"my": "json data"}
Но когда я пытаюсь проверить это с помощью этого запроса curl:
curl --data '{"my": "json data"}' https://mywebsite.com/my/endpoint -v -H "Content-type: application/x-www-form-urlencoded"
Сервер получает это:
{{"my": "json data"} = []}
И это мешает мне сделать это:
String my = formParams.getFirst("my");
Так как он думает, что весь {"my": "json data"} является ключом, привязанным к нулевому значению.
Я хочу сделать что-то чистое, моя главная цель - отправить JSON через POST, как это:
{"my": "json data"}
Но вместо этого он посылает забавные данные, и по этому конкретному вопросу нет темы. Может ли кто-нибудь помочь мне отправить мои данные JSON, как я хочу?
Спасибо за вашу помощь, не стесняйтесь спрашивать более подробную информацию!