zoukankan      html  css  js  c++  java
  • C# 请求Web Api 接口,返回的json数据直接反序列化为实体类

    须要的引用的dll类:

    Newtonsoft.Json.dll、System.Net.Http.dll、System.Net.Http.Formatting.dll



    Web Api接口为GET形式:

     public static CstyleCmappListRespDTO GetCstyleCmappList(string cstylename, string cmappgname)
            {
                CstyleCmappListRespDTO RespDTO = new CstyleCmappListRespDTO();
                var url = string.Empty;
                try
                {
                    url = RequestUrl + "/dw/get_cstylecmappg_info_dw?

    id={0}&key={1}×tamp={2}&cstylename={3}&cmappgname={4}"; url = string.Format(url, id, key, DateTime.Now.ToString("yyyyMMddHHmmss"), cstylename, cmappgname); var httpClient = new HttpClient(); HttpResponseMessage response = httpClient.GetAsync(new Uri(url)).Result; RespDTO = response.Content.ReadAsAsync<CstyleCmappListRespDTO>().Result; } catch (Exception ex) { } return RespDTO; }


    Web Api接口为POST形式:

    public static FlightsResponse QueryFlightPost(FlightQueryRequest ReqDTO)
            {
                FlightsResponse FlightsRespDTO = new FlightsResponse();
                try
                {
                    string requestDTO = JsonConvert.SerializeObject(ReqDTO);
                    MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter();
                    HttpContent httpContent = new ObjectContent<FlightQueryRequest>(ReqDTO, jsonFormatter);
                    var url = RequestUrl + "/QueryFlight";
                    var httpClient = new HttpClient(new RequestHandler() { InnerHandler = new HttpClientHandler() });
                    httpClient.Timeout = TimeSpan.FromMinutes(3);
                    var responseJson = httpClient.PostAsync(url, httpContent).Result;
                    FlightsRespDTO = responseJson.Content.ReadAsAsync<FlightsResponse>().Result;
                    
                }
                catch (Exception)
                {
                    FlightsRespDTO = new FlightsResponse();
                }
                return FlightsRespDTO;
            }







  • 相关阅读:
    找到一种给vs2012对话框插入背景图片不会失真的方法
    第一次用C语言把数据写入文件中
    Java学习路线图
    一:MyBatis Generator 【SpringMvc+Spring+MyBatis+Maven整合学习笔记】
    windows系统安装Redis
    js子级窗口相互调用父级的方法
    MSSQL 发布订阅,实现读写分离
    查看MS SQL最耗时间资源的SQL
    数据库优化
    mybatis与hibernate区别
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7228777.html
Copyright © 2011-2022 走看看