62,243
社区成员




[Route("User/Add")]
[HttpPost]
public dynamic AddUser([FromBody] Product p)
{
if (p == null)
{
throw new Exception("产品为空");
}
return Json(p);
}
config.MapHttpAttributeRoutes();
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new Headers.MediaTypeHeaderValue("text/html"));
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new Headers.MediaTypeHeaderValue("text/xml"));
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new Headers.MediaTypeHeaderValue("text/json"));
var d = { "id": 54, "name": "产品1", "price": 11.11, "time": "2000-01-01T00:00:00" };
$.post("User/Add", d, function (data) {
var rs = JSON.stringify(data);
alert(rs);
});
request.Method = "POST";
request.ContentType = "application/json";
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string rs= " { "id": 54, "name": "产品1", "price": 11.11, "time": "2000-01-01T0"}";
if (MessageBox.Show(this, "确定要解绑吗?", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
{
var postObject = new { device_id = devid.ToString().Replace("-", ""), openid = (com_openid.SelectedValue ?? txt_openid.Text) };
var postJson = dosoft.Common.JsonHelper.GetJson(postObject);
var url = "https://api.weixin.qq.com/device/compel_unbind?access_token=" + txt_access_token.Text;
var rs = dosoft.HttpWebResponseUtility.PostHttp(url, postJson);
MessageBox.Show(rs);
}
而我在HttpWebResponseUtility中的代码的
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
我类型完全不一致.. 但是依然可以提交..
可能是微信这个东西并不标准... 但是最起码 给开发人员带来的好处是 任何类型的type 任何类型的body 我都能识别..
而虽然我写几句判断 一样可以实现这个东西. 但是归根结底 我想用最减短的代码 来实现最多的功能.. 仅此而已..
因为我觉得mvc(webapi) 这么高端的东西 一定有这种实现方式..而不是在每个acion里都判断...
var model=json.des...<model.xxx>(request.oooooo);
来解析..但是现在就是 懒得连这句话 也不写... 就想着 哪里稍微弄一下子 然后 就跟formbody一样使用 少写一句话 提升多少效率啊