我应该如何在KAA中实现Rest API [英] How should I implement Rest API in KAA

查看:121
本文介绍了我应该如何在KAA中实现Rest API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Kaa沙箱发送通知.

I using Kaa sandbox for send notification.

我必须在窗口终端上运行以下代码:

I have to run these codes on window terminals:

curl -v -S -u devuser:devuser123 -F 'notification={"applicationId":"3","schemaId":"4","topicId":"1","type":"USER"}; type=application/json' -F file=@notification.json "http://192.168.10.49:8080/kaaAdmin/rest/api/sendNotification" | python -mjson.tool

并且内容Json文件根据schemaId:

And content Json file is according to schemaId:

{"message" : "Hello world!"}

提示::我的命令和json文件是同一文件夹!.

Hint: My command and json file is the same folder!.

在给我错误的Windows终端上运行curl命令时(HTTP/1.1 400必需的请求部分'notification'不存在)

When I run curl command on windows terminal given an error (HTTP/1.1 400 Required request part 'notification' is not present)

这是运行时的完整信息并给出结果:

This is complete information when running and give result:

C:\Users\866\mycurl>curl -v -S -u devuser:devuser123 -F 'notification={"applicationId":"3","schemaId":"4","topicId":"1","type":"USER"}; type=application/json' -F file=@notification.json "http://192.168.10.49:8080/kaaAdmin/rest/api/sendNotification" | python -mjson.tool
* timeout on name lookup is not supported
* getaddrinfo(3) failed for type=application:80
* Couldn't resolve host 'type=application'
* Closing connection 0
curl: (6) Couldn't resolve host 'type=application'
* timeout on name lookup is not supported
*   Trying 192.168.10.49...
* TCP_NODELAY set
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 192.168.10.49 (192.168.10.49) port 8080 (#1)
* Server auth using Basic with user 'devuser'
> POST /kaaAdmin/rest/api/sendNotification HTTP/1.1
> Host: 192.168.10.49:8080
> Authorization: Basic ZGV2dXNlcjpkZXZ1c2VyMTIz
> User-Agent: curl/7.53.1
> Accept: */*
> Content-Length: 394
> Expect: 100-continue
> Content-Type: multipart/form-data; boundary=------------------------96aee635439b1f3c
>
< HTTP/1.1 100 Continue
} [312 bytes data]
< HTTP/1.1 400 Required request part 'notification' is not present
< Date: Tue, 18 Jul 2017 13:20:44 GMT
< Set-Cookie: JSESSIONID=19eircy8uykvr1f0lnmj4fah7r;Path=/
< Content-Type: text/html; charset=ISO-8859-1
< Cache-Control: must-revalidate,no-cache,no-store
< Content-Length: 402
< Server: Jetty(9.2.2.v20140723)
* HTTP error before end of send, stop sending
<
{ [402 bytes data]
100   796  100   402  100   394   1288   1262 --:--:-- --:--:-- --:--:--  1430
* Closing connection 1
Expecting value: line 1 column 1 (char 0)

请指导我解决此问题.

推荐答案

我找到了正确的解决方案.

I found the right solution.

我尝试使用ssh命令在kaa服务器中连接.

I try with connected in the kaa server using ssh command.

1-您可以通过以下方式访问SSH:

1- You can access SSH by:

$ ssh kaa@127.0.0.1 -p 2222

2-然后输入:

用户名: kaa

密码: kaa

新旧版本中调用REST API的发送通知命令几乎没有变化,从而解决了该问题.

And it's solved with little changed send notification command in the new and old for calling REST API.

3-该命令已更改:

curl -v -S -u devuser:devuser123 -X POST --header 'Content-Type:multipart/form-data' -F'notification={"applicationId":"3","schemaId":"65564","topicId":"1","type":"USER"};type=applicatin/json' --header 'Accept:application/json' 'http://localhost:8080/kaaAdmin/rest/api/sendNotification' -F file=@notification.json

然后是正确响应的结果:

And then result of right respone:

这篇关于我应该如何在KAA中实现Rest API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆