私はPOSTを受け入れ、そのパラメータを受け取り、特定の処理を行う標準のWebAPIを持っています。問題がVBAかASP.Net WebAPIなのかどうかは分かりませんので、私はクロス投稿です。POSTパラメータがVBAを使用してWeb APIに渡されない
私はAPIをテストするためにPostmanを使用しましたが、Key/Valueパラメータを投稿するとうまく動作します。
私も次のような方法と関連するパラメータを試してみましたが、同じ結果を取得しました:私はWebAPIの上のVisual Studioでデバッグするとき、私は、それがVBAで動作するようになって問題を抱えている
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
を私がどこにでも投稿している値を見ることができません。リクエストが空白になっているようです。パラメータがなく、特定のパラメータが必要なため、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&[email protected]" & _
"&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
ウェブAPI構造は次のようになります。
public HttpResponseMessage Post([FromUri] TicketBody ticket)
{
// Nothing is bound to ticket like it is in Postman
}
すべてのヘルプやポインタをいただければ幸いです!
あなたは '[FromUri]'なしにしようとしたことがありますか? –
私は今、パラメータが渡されている!私はFromURIが実際に何をしているのかを読まなければならないでしょう。これをソリューションとして投稿したい場合は、そのようにマークします! – Trinitrotoluene
また、[FromBody] 'は、パラメータがリクエストの本体から来るだけであることを指定します。 –