WebAPI Put возвращает HTTPResponseMessage null
У меня есть требование для реализации простой функции редактирования. Я использую сервис webapi для обновления моего тестового объекта. Я вызываю метод ниже из запроса пост контроллера.
Это контроллер, который вызывает метод в тестовых вызовах, который inturn вызывает пут-сервис
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);
}
}
, public Application TestCreate (Тестовый тест) {string uri = baseUri + "Test"; using (HttpClient httpClient = new HttpClient ()) {Task response = httpClient.PostAsJsonAsync (uri, test); return JsonConvert.DeserializeObjectAsync (response.Result.Content.ReadAsStringAsy nc (). Result) .Result; }}