【发布时间】:2018-08-14 13:46:46
【问题描述】:
我正在使用 .net core C#、WebApi 和 AngularJs。
为了保存数据,我的 Angularjs 代码对我的 WebApi 进行了 $http 调用。我可以很好地从我的 api 返回单个数据,但不确定在这里返回多个值的最佳方法是什么。我可以用逗号分隔然后返回,但想知道是否有更好的方法。
所以基本上当 API 将数据保存到我的数据库时,我想返回一个变量,如果保存成功则返回布尔值,如果保存不成功则返回异常消息。下面是我的代码。
AngularJs 代码:
service.saveData(data).then(function (res) {
//get someDataToReturn, dataSaved & exception raised if any from db save here.
}, function (err) {
});
WebApi 代码:
[HttpPost("data/save")]
public async Task<IActionResult> SaveData([FromBody] List<UserData> data)
{
bool dataSaved = true;
string someDataToReturn = string.Empty;
//do some processing and updating someDataToReturn here
//Saving data to DB
dataSaved = SaveData(data);
//I want to return someDataToReturn, dataSaved(true or false) and exception raised from SaveData if any
return Ok(someDataToReturn);
}
//DB Call to save data
public bool SaveData(List<UserData> data)
{
try
{
foreach (var set in data)
{
//creating query etc
_db.Execute(query);
}
return true;
}
catch (SqlException ex)
{
}
return false;
}
让我知道最好的方法。
【问题讨论】:
-
为什么要返回
true或false?如果保存成功,返回someDataToReturn。另一个,返回带有抛出异常的 HTTP 错误代码。
标签: c# angularjs asp.net-web-api