Учитывая, что вы не можете контролировать отправляемые данные, убедитесь, что у вас есть модель, соответствующая требуемой объектной модели JSON
public class MyModel {
public DateTime datetime { get; set; }
public string filename { get; set; }
public string datasourcename { get; set; }
public string error { get; set; }
}
, и воспользуйтесь преимуществамивозможность привязки модели инфраструктуры веб-API и позволяет действию связывать строго типизированную модель из тела запроса.
[HttpPost]
public IHttpActionResult SaveMessage([FromBody] MyModel model) {
if(ModelState.IsValid) {
db.MyModels.Add(w);
if(db.SaveChanges() > 0)
return Ok();
}
return BadRequest();
}
Если при сохранении сообщения возникают проблемы, действие возвращает код состояния HTTP.400 Bad Request, в противном случае он вернет HTTP Status Code 200 OK.