POST响应中的“解析错误:由于输入结束,没有内容要映射”。这是我的错吗?

时间:2018-11-19 13:57:25

标签: json post json-rpc

我正在尝试使用POST请求访问基于JSON-RPC 2.0的简单API。必须先进行身份验证,然后才能从API访问数据。身份验证的POST请求需要一个参数name,并且JSON对象由

组成
  • ID(在这种情况下,可以使用"req-001"
  • 方法(此处为"authenticate"
  • 该方法的参数,在这种情况下为userpasswordclientclient是客户端应用程序的唯一标识符)
  • 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"
    }
}

相反,我得到了这个

{
    "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上的this question,该问题通过更改参数得以解决。就我而言,参数很好,我什至尝试了文档中的示例,但结果却相同。我还发现this question在StackOverflow上问了六个月前,没有答案,在this question上又发现了here,这是关于解析成功的响应,这也无济于事。

我找到了来源

  

org.apache.catalina.connector.CoyoteInputStream@69967bc3

validity child,但我不知道这对我有什么帮助。

此解析错误可能是API本身的错误,还是我的请求有问题?

0 个答案:

没有答案