protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { return(base.SendAsync(request, cancellationToken).ContinueWith <HttpResponseMessage>((responseToCompleteTask) => { HttpResponseMessage response = responseToCompleteTask.Result; HttpError error = null; if (response.TryGetContentValue <HttpError>(out error)) { if (error != null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { //封装处理异常信息,返回指定JSON对象 #if DEBUG Content = new StringContent(ResponseResult.Exception(error.Message).ToJson()), #else Content = new StringContent(ResponseResult.Exception("接口出现了错误,请重试或者联系管理员").ToJson(), Encoding.UTF8, "application/json"), #endif ReasonPhrase = "error" }); } } return response; })); }
public ResponseResult <LoginResponseResult> LoginByJObject([FromBody] JObject data) { var obj = new { user_id = data["user_id"].ToObject <string>(), user_password = data["user_password"].ToObject <string>(), }; var result = ResponseResult <LoginResponseResult> .Default(); try { if (string.IsNullOrEmpty(obj.user_id)) { return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!")); } if (string.IsNullOrEmpty(obj.user_password)) { return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!")); } //=>[模拟从数据库中验证user_id和user_password] if (obj.user_id.Equals("abennet") && obj.user_password.Equals("abennet")) { LoginResponseResult entity = new LoginResponseResult { UserId = obj.user_id, UserPassword = obj.user_password, LoginTime = DateTime.Now, SessionToken = Guid.NewGuid().ToString("N"), }; result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!"); } else { result = ResponseResult <LoginResponseResult> .Faild("登录失败!"); } } catch (System.Exception ex) { result = ResponseResult <LoginResponseResult> .Exception(ex.Message); } return(result); }
/// <summary> /// 统一对调用异常信息进行处理,返回自定义的异常信息 /// </summary> /// <param name="context">HTTP上下文对象</param> public override void OnException(HttpActionExecutedContext context) { //自定义异常的处理 Exception ex = context.Exception; if (ex != null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { //封装处理异常信息,返回指定JSON对象 #if DEBUG Content = new StringContent(ResponseResult.Exception(ex.Message).ToJson()), #else Content = new StringContent(ResponseResult.Exception("接口出现了错误,请重试或者联系管理员").ToJson(), Encoding.UTF8, "application/json"), #endif ReasonPhrase = "exception" }); } }
public ResponseResult <LoginResponseResult> LoginByFromBody([FromUri] int id, [FromBody] LoginRequestParam loginRequestParam) { var result = ResponseResult <LoginResponseResult> .Default(); try { if (string.IsNullOrEmpty(loginRequestParam.user_id)) { return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!")); } if (string.IsNullOrEmpty(loginRequestParam.user_password)) { return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!")); } //=>[模拟从数据库中验证user_id和user_password] if (loginRequestParam.user_id.Equals("abennet") && loginRequestParam.user_password.Equals("abennet")) { LoginResponseResult entity = new LoginResponseResult { UserId = loginRequestParam.user_id, UserPassword = loginRequestParam.user_password, LoginTime = DateTime.Now, SessionToken = Guid.NewGuid().ToString("N"), }; result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!"); } else { result = ResponseResult <LoginResponseResult> .Faild("登录失败!"); } } catch (System.Exception ex) { result = ResponseResult <LoginResponseResult> .Exception(ex.Message); } return(result); }