【发布时间】:2012-01-17 21:04:21
【问题描述】:
为什么需要Json Request Behavior?
如果我想将 HttpGet 请求限制为我的操作,我可以使用 [HttpPost] 属性来装饰操作
例子:
[HttpPost]
public JsonResult Foo()
{
return Json("Secrets");
}
// Instead of:
public JsonResult Foo()
{
return Json("Secrets", JsonRequestBehavior.AllowGet);
}
为什么[HttpPost]不够用?
为什么框架对我们拥有的每个JsonResult 都使用JsonRequestBehavior.AllowGet 来“困扰”我们。如果我想拒绝获取请求,我将添加 HttpPost 属性。
【问题讨论】:
-
非常类似于stackoverflow.com/questions/1625671/…(虽然我发现这个是在寻找我自己的问题:))
-
因为 GET 应该是幂等的,而 POST 不是。通过 GET -> POST,您可以更改接口的语义。
-
因为如果您不必在各处添加粗鲁的参数,您的代码会显得过于干净。
标签: c# .net asp.net-mvc asp.net-mvc-3 security