这是我在apiController中的post方法
[HttpPost]
public String Post([FromBody]String key)
{
Users ws;
try
{
ws = JsonConvert.DeserializeObject<Users>(key);
// return "success "+ key;
return db.InsertFineInfo(ws);
}
catch (Exception ex)
{
return "ERROR Testing Purposes: " + ex;
}
}
这是我的模型calss的一部分。(用户类)有很多属性,但在这里我只提到了几个带有getter和setter的em
{
private String UserID;
private String UserName;
private String UserHeight;
private String UserWeight;
private String UserBMI;
private String RequiredNeutrition;
public string UserID1
{
get
{
return UserID;
}
set
{
UserID = value;
}
}
我尝试使用postmen调用此post方法。在每次尝试时我都获得了key的null值。
this is how i tried the post method with one header parameter application/json
出了什么问题?方法或我尝试调用它的方式有问题吗?答案 0 :(得分:1)
确定几点......
首先,您的方法期望的JSON看起来像
{
"key": "your string....."
}
其次,您提供的代码有点直观......为什么不简单地
[HttpPost]
public String Post([FromBody]Users ws)
{
... // Done ?
}
您需要为我发布更多代码,以便能够正确回答上述方法可以接受的JSON样式。
在Web API中,当参数为null时,您可以非常确定发送到该方法的JSON与将参数序列化为JSON字符串时生成的JSON不匹配。
答案 1 :(得分:-1)
您必须将输入建模为C#类,然后将该类型作为输入。 假设你已经拥有一个&#34;用户&#34;您在请求正文中发送的具有与JSON相同属性的类:
double* D = (double*)malloc(sizeof(double) * TMAX * MAX);
// D[d1][d2] can be accessed *(D + d1 * TMAX + d2)