为什么我在这里得到415回复?

时间:2016-10-26 19:28:59

标签: c# asp.net-web-api http-headers fiddler asp.net-core-webapi

我使用ASP.NET Core创建了默认的Web API项目。这给了我跟随控制器

[Route("api/[controller]")]
    public class ValuesController : Controller
    {
        // GET api/values
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value";
        }

        // POST api/values
        [HttpPost]
        public void Post([FromBody]string value)
        {
        }

        // PUT api/values/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        [HttpDelete("{id}")]
        public void Delete(int id)
        {
        }
    }

我正在使用fiddler来测试api。

当我提交GET请求时 http://localhost:21674/api/values 我得到一个带有value1和value2值的JSON对象

当我尝试发布到相同的网址时,我得到了不受支持的媒体类型415响应,如下所示。 Click here to see the image

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您的请求是伪造的。没有@car = Car.find(params[:ad_group][:car][:id]) mime类型。

JSON的正确mime类型为application\json(请注意正斜杠)。

更新

此外,您不得在其中加注。最终标题必须是:application/json

答案 1 :(得分:0)

发送{&#34;值&#34;:&#34;测试&#34;} json,而不仅仅是&#34;测试&#34;。