2017-08-08 1 views
1

J'ai trouvé un blog post qui montre comment JSON POSTed peut être reçu sous forme de chaîne.Quel est le noyau ASP.NET équivalent à HttpRequestMessage?

Je veux savoir quelle est la nouvelle façon native de faire la même chose que le code suivant dans une méthode REST post dans un contrôleur:

public async Task<HttpResponseMessage> Post(HttpRequestMessage request) 
{ 
    var jsonString = await request.Content.ReadAsStringAsync(); 

    // Do something with the string 

    return new HttpResponseMessage(HttpStatusCode.Created); 
} 

L'autre soufflet option ne fonctionne pas pour moi, je pense parce que je n'utilise pas Content-Type: application/json dans l'en-tête de la demande (ne peut pas changer cela), et je reçois un 415.

public HttpResponseMessage Post([FromBody]JToken jsonbody) 
{ 
    // Process the jsonbody 

    return new HttpResponseMessage(HttpStatusCode.Created); 
} 

Répondre

1

Dans .Net de base, ils ont fusionné l'API Web et MVC pour que vous puissiez simplement le faire comme ça avec IActionResul ou un de ses dérivés.

public IActionResult Post([FromBody]JToken jsonbody) 
{ 
    // Process the jsonbody 

    return Created("", null);// pass the url and the object if you want to return them back or you could just leave the url empty and pass a null object 
}