62,242
社区成员




config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "selfretail/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "selfretail",
routeTemplate: "selfretail/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
[HttpPost]
public RetailSaleGetPriceResult GetPrice(RetailSaleGetPriceInModel argData)
{
...
}
[HttpPost]
public RetailSalePrepareResult Prepare(RetailSalePrepareInModel argData)
{ ... }
/// <summary>
/// 全局异常筛选器
/// </summary>
public class GlobalExceptionFilterAttribute : ExceptionFilterAttribute
{
/// <summary>
/// 引发异常事件
/// </summary>
/// <param name="actionExecutedContext"></param>
public override void OnException(HttpActionExecutedContext actionExecutedContext)
{
///在这里统一拦截了API的异常返回信息
Exception exception = GetRealException(actionExecutedContext.Exception);
var rsJosn = new { Code = 500, Msg = exception.Message, ExMsg = exception.ToString() };
var response = actionExecutedContext.Response ?? new HttpResponseMessage();
response.Content = new StringContent(Json.Encode(rsJosn), Encoding.UTF8, "application/json");
}
private Exception GetRealException(Exception ex)
{
if (ex.InnerException == null)
{
return ex;
}
return GetRealException(ex.InnerException);
}
}
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//其它操作.......
// Web API Filter
config.Filters.Add(new GlobalExceptionFilterAttribute());
//其它操作.......
}
}