asp.net 中,怎么在mvc Controller中获取HttpRequestMessage对象
RT,在MvcController中,直接Request.Params["openid"]就可以获取了,这个Request是HttpRequestBase类型的,那怎么获...
RT, 在MvcController中,直接Request.Params["openid"] 就可以获取了,这个Request是HttpRequestBase类型的,那怎么获取HttpRequestMessag类型对象,因为要用到ApiController中的方法?
展开
1个回答
展开全部
你是用在 webapi中吗? 还是MVC?
更多追问追答
追问
嗯,apiController中的
追答
因为webapi跟mvc有点小区别,轻量了非常多。取值也有一点改变,
因为 webapi是 restful风格
如果是:Content-Type: application/x-www-form-urlencoded 下它的取值有
//对于GET请求获取参数
[HttpGet]
public HttpResponseMessage List(string openid,string appid)
{
}
// POST 下 必须 加上 [FromBody]特性
[HttpPost]
public HttpResponseMessage List([FromBody] FormDataCollection parm)
{
var openid = parm["openid"].ToString();
}
如果是:Content-Type: application/json 下它的取值有
//自定义实体接受
[HttpPost]
public HttpResponseMessage List([FromBody] DataEntity parm)
{
var openid = parm.Openid;
}
//dynamic类型接受 不建议你使用
[HttpPost]
public HttpResponseMessage List([FromBody] dynamic parm)
{
var openid = parm.Openid;
}
//Newtonsoft.Json.Linq 因为内置格式参数使用的库
// 对象 JObject 数组对象 JArray
[HttpPost]
public HttpResponseMessage List([FromBody] JObject parm)
{
var openid = parm["openid"].ToString();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询