为什么我在这里收到 415 响应?

Why I am getting a 415 response here?

我使用 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 我得到一个 JSON 对象,其中包含 value1 和 value2 值

当我尝试 post 到相同的 URL 时,我收到不支持的媒体类型 415 响应,如下所示。 Click here to see the image

我做错了什么?

您的请求伪造错误。没有application\jsonmime-type.

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

更新

此外,您不能在其中使用引号。最后的header需要是:Content-Type: application/json

发送 { "value":"test"} json,而不仅仅是 "test".