为什么我得到了415的回复

本文关键字:回复 为什么 | 更新日期: 2023-09-27 18:15:11

我使用ASP创建了默认的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我得到一个JSON对象value1和value2值

当我尝试向相同的URL发布帖子时,我得到一个不支持的媒体类型415响应,如下所示。点击这里查看图片

我做错了什么?

为什么我得到了415的回复

您的请求伪造错误。没有application'json mime类型

JSON的正确mime类型是application/json(注意正斜杠)。

更新

也不允许有引号。最后的标题需要是:Content-Type: application/json

{"价值":"测试"}发送json,而不仅仅是"测试"。