请帮帮我。如何将消息从void传递给返回类型?
WebApi.cs
public void DeleteById(int id)
{
string meassga = "";
try
{
objser.DeleteBYId(id);
}
catch (Exception ex)
{
meassga = "" + ex;
}
}
Mvc.cs
public JsonResult DeleteById(int id)
{
string meassga = "";
ss.DeleteBYId(id);
return Json ( meassga, JsonRequestBehavior.AllowGet );
}
这里我将数据从mvc传递到webApi&我想显示从api控制器到mvc json控件的错误细节
答案 0 :(得分:0)
你不能。您有几个选项,更改webapi方法以返回字符串,或抛出异常,如下所示:
public void DeleteById(int id)
{
try
{
objser.DeleteBYId(id);
}
catch (Exception ex)
{
throw new Exception($"Exception in DeleteById({id}) - {ex.Message}", ex);
}
}
然后在控制器中:
public JsonResult DeleteById(int id)
{
try
{
ss.DeleteBYId(id);
return Json ("Deleted successfully", JsonRequestBehaviour.AllowGet);
}
catch(Exception ex)
{
return Json ( ex.Message, JsonRequestBehavior.AllowGet );
}
}
......相似。在不抛出异常的情况下,另一个常见的策略是创建一个这样的返回类:
public class ApiResult<T>
{
public string Message { get; set; }
public T Result { get; set; }
public bool Success { get; set; }
}
并实现所有api调用的东西。