user3035024
user3035024

Reputation: 199

Web API [FromBody] string parameter always null

I've been trying to pass string data using [FromBody] but it is always null.

enter image description here

public HttpResponseMessage Post(int id, [FromBody] string value)
{
    return Request.CreateResponse(HttpStatusCode.OK, "Success");
}

enter image description here

Upvotes: 0

Views: 3003

Answers (3)

cemil
cemil

Reputation: 71

you can use like below;

        var json = JsonConvert.SerializeObject("your value parameter value");
        var content = new StringContent(json, Encoding.UTF8, "application/json");
        using (var client = new HttpClient())
        {
            try
            {
                client.BaseAddress = new Uri("your url" + "?id=your ID");
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authString);

                HttpResponseMessage Res = client.PostAsync("", content).Result;

                var jsonContent = Res.Content.ReadAsStringAsync().Result;
              
            }
            catch (Exception ex)
            {
                throw;
            }
        }

above codes work in my app.

Upvotes: 0

biksh49
biksh49

Reputation: 21

[HttpPost]
public HttpResponseMessage Post(int id, [FromBody] string value)
{
    return Request.CreateResponse(HttpStatusCode.OK, "Success");
}

The [HttpPost] attribute tells the routing engine to send any POST requests to that action method to the one method over the other. This is a type of overloading.enter link description here

Upvotes: 1

Luke Vo
Luke Vo

Reputation: 20658

In ASP.NET Core you cannot simply use Model binding to get the whole JSON body text as string. You have to either create a binding model or read the request body manually:

var bodyText = await this.Request.Content.ReadAsStringAsync();

Upvotes: 2

Related Questions