[英]API returning unsupported media type in ASP.NET Core
当我向它发出请求时,我有以下 API,它返回不受支持的媒体类型我不知道是什么导致了这个问题。
[HttpPost("select/manager/{projectId}")]
public async Task<ActionResult<string>> SetProjectManager([FromBody] string name, string projectId)
{
var (isValid, username, password) = spManager.GetCredentials(HttpContext.Request.Headers["x-token"]);
if (!isValid || string.IsNullOrEmpty(name))
{
return BadRequest("Bad Key!");
}
var result = await spManager.SetProjectManager(username, password, name, projectId);
if (result.Success == true)
{
return Ok(new SubmissionResponse { Success = true, ErrorCode = null });
}
else
{
return NotFound(new SubmissionResponse { Success = false, ErrorCode = "Not Found!" });
}
}
我在 header 中发送一个令牌,但屏幕截图中没有显示:
用 {"name": "cristof"} 替换 "cristof" 并将主体类型更改为 Json。
当我向它发出请求时,它返回不受支持的媒体类型
HTTP 415 Unsupported Media Type错误表示服务器拒绝接受请求,因为负载格式是不受支持的格式。 请注意,它不为 ASP.NET 核心 Web API 中的纯文本提供内置输入格式化程序。
该框架为 JSON 和 XML 提供内置输入和 output 格式化程序。 正如@Nkosi 建议的那样,为了使您的数据请求正常工作,您可以尝试将Content-Type
更改为application/json
。
此外,如果您真的希望您的 API 能够很好地处理纯文本输入,您可以尝试实现自定义纯文本输入格式化程序。
https://docs.microsoft.com/en-us/aspnet/core/web-api/advanced/custom-formatters?view=aspnetcore-5.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.