我正在尝试使用ASP.NET服务器检索post body但它没有收到正文。
这是我的控制器
convertView
这是我的客户端c#脚本
[HttpPost]
public Boolean ReleaseProtection([FromBody]string value)
{
System.Diagnostics.Debug.WriteLine("returning value");
System.Diagnostics.Debug.WriteLine(value);
return true;
}
如果我使用相同的方法var credentials = new Dictionary<string, string>()
{
{"token", Token.Value},
{"repoId", repoId}
};
var content = new FormUrlEncodedContent(credentials);
var response = await client.PostAsync(Ribbon1.DOTNETHOSTURL + "api/excel/ReleaseProtection", content);
var responseString = await response.Content.ReadAsStringAsync();
到nodeJS服务器,它会收到消息,但post
返回空字符串。这是为什么?
答案 0 :(得分:1)
以下是关于如何将[FromBody]与POST一起使用的非常深入的答案:Sending HTML Form Data
简短版本是您不希望拥有原始string value
。
您应该创建一个简单的类,如
public class MyCredentials
{
public string Token { get; set; }
public string RepoId { get; set; }
}
然后你可以像这样阅读
[HttpPost]
public Boolean ReleaseProtection([FromBody]MyCredentials creds)
{
// Do stuff...
}