POST 实体到 Fiware-Orion Java
POST Entity to Fiware-Orion with Java
我正在尝试使用 fiware-orion 食谱中的示例在 Orion 中创建一个新实体
(http://telefonicaid.github.io/fiware-orion/api/v2/stable/cookbook/),通过执行此代码:
@RequestMapping("/postest")
public void viewTest() throws Exception{
Client client = ClientBuilder.newClient();
Entity payload = Entity.json("{'id':'Room13','type':'Room'}");
Response response = client.target("http://my-url:1026/v2/entities")
.request(MediaType.APPLICATION_JSON_TYPE)
.post(payload);
System.out.println("status: " + response.getStatus());
System.out.println("headers: " + response.getHeaders());
System.out.println("body:" + response.readEntity(String.class));
}
但结果我得到这个错误:"error":"ParseError","description":"Errors found in incoming JSON buffer"
另一方面,GET 示例运行良好。是不是描述的不对,还是我哪里做错了?
Orion returns ParseError
每当它收到 JSON 负载有某种语法错误的请求时。因此,我建议您确保从您的程序发送的 JSON 是正确的。有几种方法可以做到这一点:
- 在您的代码中记录跟踪(您正在使用 Java,因此在正确的位置使用正确的参数
println
就可以了。
- 用一些能够显示接收到的请求的模拟替换 CB 端点,例如
nc
命令或工具,例如 PutsReq.
- 使用 tcpdump 或 wireshark 等工具在线捕获它。
查看您的代码,我明白了 {'id':'Room13','type':'Room'}
。也许问题是您使用的是 '
而不是 "
(检查 JSON specification)。
我正在尝试使用 fiware-orion 食谱中的示例在 Orion 中创建一个新实体 (http://telefonicaid.github.io/fiware-orion/api/v2/stable/cookbook/),通过执行此代码:
@RequestMapping("/postest")
public void viewTest() throws Exception{
Client client = ClientBuilder.newClient();
Entity payload = Entity.json("{'id':'Room13','type':'Room'}");
Response response = client.target("http://my-url:1026/v2/entities")
.request(MediaType.APPLICATION_JSON_TYPE)
.post(payload);
System.out.println("status: " + response.getStatus());
System.out.println("headers: " + response.getHeaders());
System.out.println("body:" + response.readEntity(String.class));
}
但结果我得到这个错误:"error":"ParseError","description":"Errors found in incoming JSON buffer"
另一方面,GET 示例运行良好。是不是描述的不对,还是我哪里做错了?
Orion returns ParseError
每当它收到 JSON 负载有某种语法错误的请求时。因此,我建议您确保从您的程序发送的 JSON 是正确的。有几种方法可以做到这一点:
- 在您的代码中记录跟踪(您正在使用 Java,因此在正确的位置使用正确的参数
println
就可以了。 - 用一些能够显示接收到的请求的模拟替换 CB 端点,例如
nc
命令或工具,例如 PutsReq. - 使用 tcpdump 或 wireshark 等工具在线捕获它。
查看您的代码,我明白了 {'id':'Room13','type':'Room'}
。也许问题是您使用的是 '
而不是 "
(检查 JSON specification)。