zoukankan      html  css  js  c++  java
  • httpclient 调用WebAPI

    1、创建webapi项目,提供接口方法如下:

    /// <summary>
    /// 获取租户、位置下的所有传感器
    /// </summary>
    /// <returns></returns>
    [AcceptVerbs("POST")]
    [Route("api/Sensors/GetSensors")]
    public JsonResponseBase<List<TenSensorDTO>> GetSensors()
    {
    Logger.Debug("SensorsController---------------GetSensors");
    string jsonData = this.Request.Content.ReadAsStringAsync().Result;
    Logger.Information(jsonData);
    TenSensorSearchDTO search = null;
    var response = new JsonResponseBase<List<TenSensorDTO>>();
    try
    {
    search = JsonConvert.DeserializeObject<TenSensorSearchDTO>(jsonData);
    response.Json.IsSuccess = true;
    }
    catch(Exception ex)
    {
    Logger.Fatal(ex);
    response.Json.IsSuccess = false;
    response.Json.OperationDesc = "参数错误";
    }
    if (response.Json.IsSuccess && search != null)
    {
    response = TenantManageService.GetSensorList(search);
    }

    return response;
    }

    2、客户端使用httpclient调用

    string url = urlPre + "Sensors/GetSensors";
    //租户ID必须传入,LocationID可以不传入,看调用段需求
    var content = new { TenantID = Guid.Parse("5ebf5f81-ac69-418c-b170-9eb255201dd1") ,
    LocationID = Guid.Parse("db5a58c0-1d12-4fe9-99bb-4bebe6bcb935") };
    var requestJson = JsonConvert.SerializeObject(content);
    HttpContent httpContent = new StringContent(requestJson);
    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
    var httpClient = new HttpClient();
    var responseJson = httpClient.PostAsync(url, httpContent)
    .Result.Content.ReadAsStringAsync().Result;

  • 相关阅读:
    例子:进度条制作
    例子:滑动效果
    例子:选项卡效果
    例子:图片轮播
    9.23 开课第二十天 (事件)
    例子:日期时间选择
    例子:两个列表之间移动数据
    php数据访问基础
    php面向对象加载类、常用设计模式
    php面向对象中的静态与抽象,接口
  • 原文地址:https://www.cnblogs.com/wangchaozhi/p/5104587.html
Copyright © 2011-2022 走看看