为什么我在这里收到 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\json
mime-type.
JSON 的正确 mime-type 是 application/json
(注意正斜杠)。
更新
此外,您不能在其中使用引号。最后的header需要是:Content-Type: application/json
发送 { "value":"test"} json,而不仅仅是 "test".
我使用 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\json
mime-type.
JSON 的正确 mime-type 是 application/json
(注意正斜杠)。
更新
此外,您不能在其中使用引号。最后的header需要是:Content-Type: application/json
发送 { "value":"test"} json,而不仅仅是 "test".