Asp.net core MVC post parameter always null

后端 未结 4 994
一整个雨季
一整个雨季 2020-12-05 10:57

I am new to MVC core.

I have created a project with MVC core which has a controller. This controller has Get and Post action methods. If i pass data to Get method us

相关标签:
4条回答
  • 2020-12-05 11:26

    Note the original method Post([FromBody] User newUser)

    For future readers from google, this same issue could arise if the method was Post(User newUser)

    Note the lack of [FromBody]. This is a departure from previous versions of MVC where these parameters were generally inferred.

    If you're an existing MVC5 developer who finds this page regarding AspNetCore.MVC, make sure to double check that you have [FromBody] decorated where relevant.

    0 讨论(0)
  • 2020-12-05 11:29

    This could be because of how the null values are being handled. Set NullValueHandling to Ignore in AddJsonOptions and see if that works.

    public void ConfigureServices(IServiceCollection services)
    {
        services
            .AddMvc()
            .AddJsonOptions(jsonOptions=>
            {
                jsonOptions.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
            });
    }
    
    0 讨论(0)
  • 2020-12-05 11:35

    I created new ASP.NET Core project, added your functionality, and it works. Please, checkout this project on github.

    Also, see screenshot of log with simple communication with this controller from browser console: Console output

    0 讨论(0)
  • 2020-12-05 11:41

    Are you on Microsoft.AspNetCore.Mvc 1.0.0?

    If you are, try sending this object as your body in a request (camel cased properties):

    {
       "name":"UserName",
       "gender":"Gender of the user",
       "phoneNumber":"PhoneNumber of the user"
    }
    
    0 讨论(0)
提交回复
热议问题