[英]Getting a 405 error when trying to call Delete Modal Confirmation action (Asp.Net Core 6 javascript)
[英]getting json error when invoking asp.net core action
我收到了对 asp.net 核心 controller 中的操作的简单请求。
Controller:
[ApiController]
public class SystemAPIController : ControllerBase
{
[HttpPost("systemAPI/SetCulture")]
public async Task SetCulture([FromBody] string culture)
{
this.HttpContext.Session.SetString("Culture", culture);
}
}
机身中的 JSON:
{
"culture": "nb-NO"
}
使用 postman 调用操作时出现以下错误:
"The JSON value could not be converted to System.String. Path: $ | LineNumber: 0 | BytePositionInLine: 1."
您需要创建一个 class 代表 json 结构:
public class Request
{
public string culture {get;set;}
}
并将其用作传入的动作参数:
[HttpPost("systemAPI/SetCulture")]
public async Task SetCulture([FromBody] Request request)
{
this.HttpContext.Session.SetString("Culture", request.culture);
}
C# 中属性的常见命名约定是 PascalCasing,但要支持它,您可以全局设置它或对每个属性使用JsonPropertyNameAttribute
:
public class Request
{
[JsonPropertyName("culture")]
public string Culture {get;set;}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.