ASP.Net WepAPI -我可以从get方法得到结果,但我不能发布 &g



我的API包含2个Get方法和1个POST方法。2 get工作,但是POST返回这个消息:

{"Message":"请求的资源不支持http方法'GET'."}

这些是我的方法:

[HttpGet]
public IEnumerable<tblMetrHist> Get(string accntnum)
{
...
}
[HttpGet]
public IEnumerable<CustomerInfo> GetCustomer(string accntnum)
{
...
}
[HttpPost]
public IHttpActionResult Post([FromUri] string num, [FromUri] string reading)
{
using (CustomerEntities entities = new CustomerEntities())
{
entities.tbl1.Add(new tbl1()
{
Number = num,
Reading = reading
});
entities.SaveChanges();
}
return Ok();
}

我的Route是:

config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}"
);

所以我不确定如何使API将该方法识别为"Post"而不是"get"。帮助吗?

create ViewModel

public class ViewModel
{
public string Num {get; set;}
public string Reading {get; set;}
}

and try this

[HttpPost()]
public IHttpActionResult Post([FromUri] ViewModel model)
{
var num=model.Num;
.....
}

更新由于浏览器自动执行get调用,我建议PO使用另一个工具来发布。高级休息客户端;的Chrome被PO选为一个帖子,一切都很正常。

最新更新