public async Task <JsonMessageResult> CreateBookCategory(BookCategory model) { var response = await ApiRequestHandler.RequestHandler(HttpRequestMethods.Post, $"{Route}CreateBookCategory", CommonClass.ClassToDictionary(model)); return(string.IsNullOrEmpty(response) ? MsgProvider.Success("新增成功!") : JsonConvert.DeserializeObject <JsonMessageResult>(response)); }
public async Task <JsonMessageResult> UpdateReservation(Reservation model) { var response = await ApiRequestHandler.RequestHandler(HttpRequestMethods.Put, $"{Route}UpdateReservation/{model.Id}?fields=Age,Sex,ReservationName,DepartmentId,BirthDay,ReservationNo,Class,Contact,Email", CommonClass.ClassToDictionary(model)); return(string.IsNullOrEmpty(response) ? MsgProvider.Success("修改成功!") : JsonConvert.DeserializeObject <JsonMessageResult>(response)); }
public async Task <JsonMessageResult> UpdateBookInfo(BookInfo model) { var response = await ApiRequestHandler.RequestHandler(HttpRequestMethods.Put, $"{Route}UpdateBookInfo/{model.Id}?fields=BookCategoryId,PublishingId,Price,ReleaseDate,BookName,BookPhoto,Author,ISBN", CommonClass.ClassToDictionary(model)); return(string.IsNullOrEmpty(response) ? MsgProvider.Success("修改成功!") : JsonConvert.DeserializeObject <JsonMessageResult>(response)); }
public static async Task <string> RequestHandler(HttpRequestMethods method, string url, Dictionary <string, object> dic, string jsonData = "") { try { //传入Authorization Token Client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse(GlobalCache.Token); HttpResponseMessage response; switch (method) { //GET请求 case HttpRequestMethods.Get: url = dic.Keys.Aggregate(url, (current, item) => current + $"{item}={dic[item]}&"); return(await Client.GetStringAsync($"{ApiUrl + url}")); //POST case HttpRequestMethods.Post: var bodyData = JsonConvert.SerializeObject(dic); if (!string.IsNullOrEmpty(jsonData)) { bodyData = jsonData; } response = await Client.PostAsync($"{ApiUrl + url}", new StringContent(bodyData, Encoding.UTF8, MediaType)); if (response.StatusCode != HttpStatusCode.Created) { return(await response.Content.ReadAsStringAsync()); } var strData = await response.Content.ReadAsStringAsync(); MsgResult.ResultMessage = "创建成功!"; MsgResult.ResultData = strData; return(JsonConvert.SerializeObject(MsgResult)); //PUT case HttpRequestMethods.Put: response = await Client.PutAsync($"{ApiUrl + url}", new StringContent(JsonConvert.SerializeObject(dic), Encoding.UTF8, MediaType)); if (response.StatusCode != HttpStatusCode.NoContent) { return(await response.Content.ReadAsStringAsync()); } return(JsonConvert.SerializeObject(new JsonMessageResult("修改成功", 1, 0))); //DELETE case HttpRequestMethods.Delete: response = await Client.DeleteAsync($"{ApiUrl + url}"); var result = await response.Content.ReadAsStringAsync(); return(string.IsNullOrEmpty(result) ? JsonConvert.SerializeObject(new JsonMessageResult("删除成功", 1, 0)) : result); case HttpRequestMethods.Patch: break; default: return("未找到此请求方式!"); } } catch (WebException e) { if (e.Status == WebExceptionStatus.ProtocolError) { return(JsonConvert.SerializeObject(new JsonMessageResult("未找到接口资源或未授权!", 0, null))); } if (e.Status != WebExceptionStatus.ProtocolError) { return(JsonConvert.SerializeObject(new JsonMessageResult("请求异常!", 0, null))); } var reader = new StreamReader( e.Response.GetResponseStream() ?? throw new InvalidOperationException(), Encoding.UTF8); using (reader) return(await reader.ReadToEndAsync()); } catch (HttpRequestException e) { LogHelper.Error(e.ToString()); return(MsgProvider.FailMsg($"接口请求异常!{e.Message}")); } catch (Exception e) { LogHelper.Error(e.ToString()); return(MsgProvider.FailMsg($"发生异常:{e.Message}")); } return("请求异常!"); }