Post 如何接收JSON数组?
请帮我接收一些JSON数组 如果我(通过Fiddler)发送请求,请求体如下:Post 如何接收JSON数组?,post,asp.net-web-api,Post,Asp.net Web Api,请帮我接收一些JSON数组 如果我(通过Fiddler)发送请求,请求体如下: public HttpResponseMessage Post(JObject[] smspackage) { List<MySMS> smses = smspackage.ToList<MySMS>(); try { SMS_Repository.Add(smses); return Request.CreateResponse<
public HttpResponseMessage Post(JObject[] smspackage)
{
List<MySMS> smses = smspackage.ToList<MySMS>();
try
{
SMS_Repository.Add(smses);
return Request.CreateResponse<MySMS>(HttpStatusCode.Created, smses);
}
catch (Exception)
{
return Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, "error");
}
}
[{“名称”:“Homerius”,“tonumber”:“155555”,“fromnumber”:“166666”,“text”:“&&&??!”},{“名称”:“Stone”,“tonumber”:“9654999”,“fromnumber”:“999666”,“text”:“h9miiii99!”}]
我如何在控制器中接收它
我尝试这样做:
public HttpResponseMessage Post(JObject[] smspackage)
{
List<MySMS> smses = smspackage.ToList<MySMS>();
try
{
SMS_Repository.Add(smses);
return Request.CreateResponse<MySMS>(HttpStatusCode.Created, smses);
}
catch (Exception)
{
return Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, "error");
}
}
公共httpresponsemessagepost(JObject[]smspackage)
{
List smses=smspackage.ToList();
尝试
{
SMS_Repository.Add(smses);
返回请求.CreateResponse(HttpStatusCode.Created,smses);
}
捕获(例外)
{
返回请求.CreateErrorResponse(HttpStatusCode.ExpectationFailed,“错误”);
}
}
但它不起作用
对不起,我的英语不好为什么不直接使用:
public HttpResponseMessage Post(List<MySMS> smses)
{
try
{
SMS_Repository.Add(smses);
return Request.CreateResponse<List<MySMS>>(HttpStatusCode.Created, smses);
}
catch (Exception)
{
return Request.CreateErrorResponse(HttpStatusCode.ExpectationFailed, "error");
}
}
公共httpresponsemessagepost(列出SMSE)
{
尝试
{
SMS_Repository.Add(smses);
返回请求.CreateResponse(HttpStatusCode.Created,smses);
}
捕获(例外)
{
返回请求.CreateErrorResponse(HttpStatusCode.ExpectationFailed,“错误”);
}
}
或者:
public HttpResponseMessage Post(JArray smspackage)
{
List<MySMS> smses = smspackage.ToObject<List<MySMS>>();
... snip ...
}
公共httpresponsemessagepost(JArray smspackage)
{
List smses=smspackage.ToObject();
剪
}
可选变量在方法公共HttpActionDescriptor SelectAction(HttpControllerContext controllerContext)中给出异常:var selectedAction=\u innerSelector.SelectAction(controllerContext);我已经用您提供的信息测试了解决方案,它对我有效。您遇到的错误可能更多地与您的路由和操作选择有关。我建议你打开一个新问题,并提供完整的路由和控制器代码。这两种变体都有效!谢谢,我不知道为什么它以前不起作用。事实证明,这很容易。