Я пытаюсь получить доступ к простому API на основе JSON-RPC 2.0, используя запрос POST.Прежде чем я смогу получить доступ к данным из API, я должен аутентифицировать себя.Для запроса POST для аутентификации требуется параметр name
, а объект JSON состоит из
- ИД (в данном случае
"req-001"
подходит) - метода (здесь:
"authenticate"
) - параметров для метода, в данном случае
user
, password
и client
(client
- это уникальный идентификатор для клиентского приложения) - JSON-RPC версия (2.0)
Мой объект JSON выглядит следующим образом:
{
"id":"req-001",
"method":"authenticate",
"params": {
"user":"exampleuser",
"password":"examplepass",
"client":"exampleclient"
},
"jsonrpc":"2.0"
}
, и я публикую его на
example.url/jsonrpc.do?name=example
с application/json
в качестве типа контента.
В качестве ответа я должен получить
{
"jsonrpc":"2.0",
"id":"req-001",
"result": {
"sessionId":"examplesessionid",
"data1":"exampledata",
"data2":"exampledata"
}
}
Вместо этого я получаю this
{
"jsonrpc": "2.0",
"id": null,
"error": {
"code": -32700,
"message": "Parse error: No content to map due to end-of-input\n at [Source: org.apache.catalina.connector.CoyoteInputStream@69967bc3; line: 1, column: 0]"
}
}
После исследования ошибки синтаксического анализа ближайшая проблема, которую я смог найти, была этот вопрос в StackOverflow, который был исправлен путем изменения параметров.В моем случае с параметрами все в порядке, я даже попробовал пример из документации, но у меня был тот же результат.Я также нашел этот вопрос в StackOverflow, заданный 6 месяцев назад без ответов, и этот вопрос в StackOverflow, который касается анализа успешного ответа, что также не помогает мне.
Я нашел источник
org.apache.catalina.connector.CoyoteInputStream@69967bc3
здесь , но я нене вижу, как это могло бы помочь мне.
Может ли эта ошибка синтаксического анализа быть виновна в самом API или что-то не так с моим запросом?