Put WebAPI retorna HTTPResponseMessage null
Tenho um requisito para implementar a funcionalidade de edição simples. Estou usando o serviço webapi para atualizar meu objeto de teste. Estou chamando o método abaixo da solicitação de postagem do controlador.
Este é o controlador que chama um método em chamadas de teste que, por sua vez, chama o serviço de venda
public ActionResult TestEdit(Test test)
{
if (ModelState.IsValid)
{
// objTest is returned null
HttpResponseMessage objtest = TestDatabaseService.TestEdit(test.testID, test);
}
}
// Method which calls put service testDataService
public HttpResponseMessage TestEdit(int id, Test test)**
{
string uri = baseUri + "Test/" + id;
using (HttpClient httpClient = new HttpClient())
{
Task<HttpResponseMessage> response = httpClient.PutAsJsonAsync<Test>(uri, application);
return response.Result;
}
}
// The webapi service put method
public HttpResponseMessage PutTest(int id, Test test)
{
if (ModelState.IsValid && id == test).testID)
{
db.Entry(test)).State = EntityState.Modified;
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
// The status code is set to indicate the save is success
return Request.CreateResponse(HttpStatusCode.OK);
}
else
{
// If save failed
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
. Aplicação pública TestCreate (Teste de teste) {string uri = baseUri + "Test"; using (HttpClient httpClient = new HttpClient ()) {Resposta da tarefa = httpClient.PostAsJsonAsync (uri, teste); return JsonConvert.DeserializeObjectAsync (response.Result.Content.ReadAsStringAsy nc (). Result) .Result; }}