从 asp.net mvc 中的 POST 方法获取 json 数据

Get json data from POST method in asp.net mvc

我从 POST 方法获取 json 数据时出错,我做错了什么吗

C#代码:

public IActionResult signupapi(UserSignUp user)
    {
        var model = new Models.SignUpModelAPI(HttpContext);
        if (user == null)
        {
            return Content(model.ResponseJsonText(false, string.Format(model.Language("empty"),
                HttpContext.Request.Method, HttpContext.Request.Path.Value), Class.CodeResponse.ERROR), new Microsoft.Net.Http.Headers.MediaTypeHeaderValue("application/json"));
        }
        if (!model.isAllowMethod("POST"))
        {
            return Content(model.ResponseJsonText(false,string.Format(model.Language("notallowmethod"),
                HttpContext.Request.Method,HttpContext.Request.Path.Value),Class.CodeResponse.ERROR),new Microsoft.Net.Http.Headers.MediaTypeHeaderValue("application/json"));
        }
        return Content(JsonConvert.SerializeObject(user));
        }
public class UserSignUp
    {
        public string fullname { get; set; }
        public string username { get; set; }
        public string email { get; set; }
        public string password { get; set; }
    }

这是我在 reqbin 上尝试时得到的每个值都为空的结果

您需要添加 FromBody 属性来获取 POST 操作的数据:

public IActionResult signupapi([FromBody]UserSignUp user)

您可以在 MSDN 文档上阅读有关参数绑定的更多信息。