我才刚开始学习WebAPI,
当我尝试调用Api / TessterFunction并将数据参数作为JSON发送时({“ Test”:“ TEST”}),我收到此响应“未找到与请求匹配的HTTP资源”,
但是,当尝试调用它并以查询字符串的形式发送数据时(http:// localhost / myProject / myApi / TesterFunction?Test =“ TEST ”),它就可以正常工作并完成。
[HttpPost]
[Route("TesterFunction")]
public HttpResponseMessage TesterFunction(string Test)
{
try
{
myClass myObject= new myClass();
if (myObject.myStordProcedure(CompanyCode))
{
return Request.CreateResponse(HttpStatusCode.OK, "Done");
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest, "SP not executed");
}
}
catch(Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, e);
}
}
那将不起作用,因为您的Web api方法仅接受字符串参数。
你能做的是
public class ReceiveModel{
public string Test {get;set;}
}
[HttpPost]
[Route("TesterFunction")]
public HttpResponseMessage TesterFunction(ReceiveModel model)
{
// see the property here
Console.WriteLine(model.Test);
try
{
myClass myObject= new myClass();
if (myObject.myStordProcedure(CompanyCode))
{
return Request.CreateResponse(HttpStatusCode.OK, "Done");
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest, "SP not executed");
}
}
catch(Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, e);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句