【发布时间】:2016-06-20 08:39:10
【问题描述】:
我有一个沼泽标准 WebAPI,它接受 POST 并接受这些参数并处理某些事情。我不确定问题是 VBA 还是 ASP.Net WebAPI,所以我交叉发布。
我使用 Postman 测试了 API,当我发布 Key/Value 参数时它运行良好。
我也尝试了以下方法和相关参数,得到了相同的结果:
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
我在让它与 VBA 一起工作时遇到问题,在 WebAPI 上的 Visual Studio 中进行调试时,我看不到我在任何地方发布的值。就像请求是空白的一样。我的 WebAPI 随后抛出错误,因为缺少参数并且需要某些参数。
我不确定这是 VBA 方面还是 ASP.NET WebAPI 方面的问题,所以我交叉发布,希望有人能指出或发现我做错了什么。
Private Sub Command4_Click()
Dim argumentString1 As String
argumentString1 = "companyId=228&secondsToLog=15&subject=TestBackup123&description=TestDescription" & _
"&category=&tag=&ticketType=task&assignee=gavin&requesterEmail=bob@smith.com" & _
"&submitterName=gavin&status=open&priority=normal"
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
URL = "http://localhost:64874/api/zendeskhelper"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
objHTTP.send (argumentString1)
txtresult = objHTTP.responsetext & ": " & argumentString1
End Sub
Web API 结构如下所示:
public HttpResponseMessage Post([FromUri] TicketBody ticket)
{
// Nothing is bound to ticket like it is in Postman
}
任何帮助或指点将不胜感激!
【问题讨论】:
-
你试过没有
[FromUri]吗? -
我现在有,参数现在正在传递!我将不得不阅读 FromURI 的实际作用。如果您想将此作为解决方案发布,我会将其标记为这样!
-
还有
[FromBody]指定参数只能来自请求体。
标签: asp.net ms-access asp.net-web-api vba