具有DELETE方法的Worklight WL.Server.invokeHttp()不接受查询参数 [英] Worklight WL.Server.invokeHttp() with DELETE method doesn't accept query param

查看:102
本文介绍了具有DELETE方法的Worklight WL.Server.invokeHttp()不接受查询参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Worklight适配器,它通过WL.Server.invokeHttp()调用RESTful方法.使用http DELETE方法时,不会添加查询字符串参数.我使用的是Worklight 6.0.

输入的设置如下:

{
   "headers": {
      "Accept": "application\/json",
      "Authorization": "Bearer xxxxxxxxxxxxxxxx",
      "Content-Type": "application\/json"
   },
   "method": "delete",
   "parameters": {
      "messageIds": "r11118,r11119"
   },
   "path": "\/myMessages\/v2\/messages" 
}

and called like: var result=WL.Server.invokeHttp(input);

但是我可以从 Wireshark 中看到,没有添加查询参数:

  DELETE /myMessages/v2/messages HTTP/1.1\r\n

如果我要做的就是将方法更改为GET,则Wireshark上存在这些参数:

  GET /myMessages/v2/messages?messageIds=r11118%2Cr11119 HTTP/1.1\r\n

解决方案

听起来像个bug.我们将对其进行调查,并在得到确认的下个版本中对其进行修复.

I have a Worklight adapter that calls a RESTful method through WL.Server.invokeHttp(). When an http DELETE method is used, the query string parameters do not get added. I'm on Worklight 6.0.

The input is setup like so:

{
   "headers": {
      "Accept": "application\/json",
      "Authorization": "Bearer xxxxxxxxxxxxxxxx",
      "Content-Type": "application\/json"
   },
   "method": "delete",
   "parameters": {
      "messageIds": "r11118,r11119"
   },
   "path": "\/myMessages\/v2\/messages" 
}

and called like: var result=WL.Server.invokeHttp(input);

But I can see from Wireshark that the query params don't get added:

  DELETE /myMessages/v2/messages HTTP/1.1\r\n

If all I do is change the method to a GET, the params are there on Wireshark:

  GET /myMessages/v2/messages?messageIds=r11118%2Cr11119 HTTP/1.1\r\n

解决方案

Sounds like a bug. We'll investigate it and fix in next releases if confirmed.

这篇关于具有DELETE方法的Worklight WL.Server.invokeHttp()不接受查询参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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