【发布时间】:2017-01-23 23:15:07
【问题描述】:
然后在 WebApiConfig.cs 中添加 4 行代码从响应中获取 json 数据。
var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Formatters.Remove(config.Formatters.XmlFormatter);
然后我创建了一个名为 importController 的控制器(具有读/写操作的 Web API 2 控制器)。
然后我添加了此代码来添加和检索数据库中的数据。但不工作。
CodeXenETSEntities db = new CodeXenETSEntities();
[HttpPost]
[ActionName("pushlocation")]
// POST: api/pushlocation
public HttpResponseMessage pushlocation( int userid,decimal longitude, decimal latitude , TimeSpan time )
{
user_locations ulog = new user_locations();
ulog.user_id = userid;
ulog.lon = longitude;
ulog.lat = latitude;
ulog.time = time;
db.user_locations.Add(ulog);
db.SaveChanges();
return Request.CreateResponse(HttpStatusCode.Accepted, "Successfully Created");
}
[HttpGet]
[ActionName("pulllocation")]
// GET: api/pulllocation/5
public HttpResponseMessage pulllocation(int userid, decimal longitude, decimal latitude, TimeSpan time)
{
db.user_locations.ToList();
return Request.CreateResponse(HttpStatusCode.Accepted, "Success");
}
数据库数据:
【问题讨论】:
-
我相信您的网址应该类似于localhost:57715/api/import/pulllocation
-
另外,
WebApiConfig.cs中的路由配置可能不允许无参数调用,因为您在pulllocation方法中指定了四个参数 -
@AndyArndt 感谢您的建议。但仍然无法正常工作。还有其他想法或建议吗?
-
@sly 那该怎么办?请给我建议
标签: c# sql-server entity-framework-6 asp.net-web-api2