/auth
并在正文中写下serial=123
/auth?serial=123
空身是否可以通过一种方法接受这两种帖子?
现在我只能通过两种方法实现它:
[HttpPost]
public IHttpActionResult CheckSerial(string serial)
和
public class SerialViewModel
{
public string serial { get; set; }
}
[HttpPost]
public IHttpActionResult CheckSerial(SerialViewModel sm)
我注意到在ASP.NET MVC5中,只需一种方法即可完成。
[HttpPost]
public ActionResult auth(SerialViewModel check)
我可以发布/auth
(身体为serial=123
)或/auth?serial=123
。
但WebAPI似乎有所不同?
- UPDATE -
受到评论的启发,我找到了这样的方式:
public IHttpActionResult CheckSerial(SerialViewModel sm,[FromUri]string serial = null)
我检查它们两个以获得一个值。但这不太方便,特别是如果有很多参数。
答案 0 :(得分:0)
嗯,我认为这是一种可以接受的方式,至少对我而言:
public IHttpActionResult CheckSerial([FromBody] SerialViewModel checkBody, [FromUri] SerialViewModel checkUri)
{
return Json(new { status = (checkBody?.serial ?? checkUri?.serial ?? "")=="123"?"1":"0" });
}