
[英]How can I get the POST And GET data that is passed in my ASP.Net application URL?
[英]ASP.Net WepAPI - I can get results from Get Methods but I cannot Post
我的 API 包含 2 个 Get 方法和 1 个 POST。 2 Gets 工作但是 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();
}
我的路线很简单:
config.Routes.MapHttpRoute(
name: "DefaultApiWithAction",
routeTemplate: "api/{controller}/{action}"
);
所以我不确定如何让 API 将该方法识别为“发布”而不是“获取”。 请帮助?
创建视图模型
public class ViewModel
{
public string Num {get; set;}
public string Reading {get; set;}
}
试试这个
[HttpPost()]
public IHttpActionResult Post([FromUri] ViewModel model)
{
var num=model.Num;
.....
}
更新
由于浏览器会自动进行get调用,所以我推荐PO用别的工具发帖。 Chrome的“Advanced Rest Client”被PO选中发帖,一切正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.