En el controlador de venta es de la siguiente manera:HttpClient PutAsync no envía un parámetro de API
[HttpPut]
[ActionName("putname")]
public JsonResult putname(string name)
{
var response = ...
return Json(response);
}
La cuestión está en la hora de consumir esta API a través siguiente
using (httpClient = new HttpClient())
{
string name = "abc";
string jsonString = JsonConvert.SerializeObject(name);
var requestUrl = new Uri("http:...../controller/putname/");
using (HttpContent httpContent = new StringContent(jsonString))
{
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpResponseMessage response = httpClient.PutAsync(requestUrl, httpContent).Result;
}
Este código doesn' t pasar el nombre del parámetro al controlador. Incluso he intentado changeing uri a/putname /" + nombre
Gracias por la respuesta. Creo que lo que dijiste debería funcionar. Lo siguiente es lo que hice. var cUri = new Uri ("http: // localhost/cart/cupón"); var jsonString = JsonConvert.SerializeObject (new {id = "abc"}); HttpResponseMessage cartResponse; using (HttpContent httpContent = new StringContent (jsonString)) { httpContent.Headers.ContentType = new MediaTypeHeaderValue ("application/json"); cartResponse = httpClient.PostAsync (cUri, httpContent) .Result; } – fcmaine
Estoy usando lo mismo que propuso como respuesta, pero no funciona. –
Agradable, Esto también funcionó para mí –