Asp.net web api 这个ASP.Net和Fiddler示例有什么问题?
我正在使用Visual Studio 2012 RC。我使用默认路由,并具有以下Web API控制器:Asp.net web api 这个ASP.Net和Fiddler示例有什么问题?,asp.net-web-api,fiddler,Asp.net Web Api,Fiddler,我正在使用Visual Studio 2012 RC。我使用默认路由,并具有以下Web API控制器: public class FooController : ApiController { // GET api/foo public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } // GET api/foo/5 p
public class FooController : ApiController
{
// GET api/foo
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/foo/5
public string Get(int id)
{
return "value";
}
// POST api/foo
public string Post(string abc)
{
Console.WriteLine("value: {0}", abc);
return "foo" + abc;
}
// PUT api/foo/5
public void Put(int id, string value)
{
}
// DELETE api/foo/5
public void Delete(int id)
{
}
}
公共类FooController:ApicController
{
//获取api/foo
公共IEnumerable Get()
{
返回新字符串[]{“value1”,“value2”};
}
//获取api/foo/5
公共字符串Get(int-id)
{
返回“值”;
}
//后api/foo
公共字符串Post(字符串abc)
{
WriteLine(“值:{0}”,abc);
返回“foo”+abc;
}
//放置api/foo/5
公共void Put(int-id,字符串值)
{
}
//删除api/foo/5
公共无效删除(int-id)
{
}
}
我想在Fiddler中做一个简单的POST测试,所以我
请求头
用户代理:Fiddler
内容类型:应用程序/json 请求主体
{“abc”:“def”} 当我调试请求时,参数abc以null的形式出现,而不是“def”。我的Fiddler语法有问题吗?(1)默认情况下,简单类型取自URI。要从请求正文中读取简单类型,请将[FromBody]属性添加到参数中
public string Post([FromBody] string abc)
(2) “{abc”:“def”}”定义了一个名为“abc”的属性的对象-要发送JSON字符串,请求主体应该是“def”这个答案来自ASP.NETWebAPI站点上的一个链接,它原来是Mike的博文(起初我没有意识到)。WebAPI团队已经做出了一些与普通MVC控制器截然不同的参数绑定决策 发送“简单类型”的正确语法是 在Fiddler中,你把
=def //THIS CANNOT HAVE QUOTES AND = IS MANDATORY
好的,这里是与MVC工作方式非常不同的部分
在Fiddler中它应该是=def,而不是“def”。我贴了一个答案,上面有我错过的更多细节。啊,我一定是刚刚醒来。聪乐昨天回答了我的问题,但后来从我的帖子中删除了他的答案。他提出了自己的问题,迈克,你回答了。答案是你的博客文章。直到刚才我才注意到。
=def //THIS CANNOT HAVE QUOTES AND = IS MANDATORY