使用NuGet包安装Microsoft ASP.NET Web API 2.1 Client Libraries,

调用方式代码如下:

        HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:2471/");//基地址
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync("api/values").Result;
if (response.IsSuccessStatusCode)
{
var products = response.Content.ReadAsAsync<IEnumerable<ProductInfo>>().Result;
}
else
{
Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
} //HTTP Post请求
ProductInfo pro = new ProductInfo();
pro.dateTime1 = DateTime.Now;
pro.Int = ;
response = client.PutAsJsonAsync<ProductInfo>("api/Values", pro).Result;
if (response.IsSuccessStatusCode)
{ }
else
{
Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
} response = client.DeleteAsync("api/values/5").Result;
if (response.IsSuccessStatusCode)
{ }
else
{
Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
}

values控制器代码如下:

 public IEnumerable<ProductInfo> GetList()
{
//string s = this.Request.Headers.GetValues("YXLCookie").FirstOrDefault(); ProductInfo p = new ProductInfo();
p.Int = ;
p.string1 = "";
p.dateTime2 = DateTime.Now; ProductItem pi = new ProductItem() { Int = , string1 = "" };
p.productItem = pi; ProductInfo p2 = new ProductInfo();
p2.Int = ;
p2.string1 = "";
p2.dateTime2 = DateTime.Now; ProductItem pi2 = new ProductItem() { Int = , string1 = "", dateTime1 = DateTime.Now };
p2.productItem = pi2; List<ProductInfo> list = new List<ProductInfo>();
list.Add(p);
list.Add(p2); return list;
} // POST api/values
public void PostProduct([FromBody]ProductInfo pro)
{ }
// DELETE api/values/5
public void Delete(int id)
{
}

使用JsonConvert要安装Json.NET,使用NuGet安装Json.NET如果我们新增json格式的数据,需要将json格式转换为object对象,代码如下:

 HttpClient client = httpClient;
client.BaseAddress = new Uri("https://api.weixin.qq.com");
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json")); object s1 = JsonConvert.DeserializeObject<object>(@"{
'button':[
{
'type':'click',
'name':'协运跟踪',
'key':'V1001_TODAY_MUSIC'
},
{
'type':'click',
'name':'金牌航线',
'key':'V1001_TODAY_SINGER'
},
{
'name':'菜单测试',
'sub_button':[
{
'type':'view',
'name':'运价',
'url':'http://weixin.51xieyun.com/price/index'
},
{
'type':'view',
'name':'首页',
'url':'http://weixin.51xieyun.com'
},
{
'type':'click',
'name':'赞一下我们',
'key':'V1001_GOOD'
}]
}]
}
");
HttpResponseMessage response = client.PostAsJsonAsync<object>("cgi-bin/menu/create?access_token=dPm9S5I6bMKp3QHhcxxqyJhuaNH4h20lJaIeNi-gXVbkpQCsUdyvOLbfQCPmDFWMIS0LowOXSVfu1iD47VC9nolu29-rRJ0oWUhIX0WRDYKPOIZtf4onsSvFePdt1iX9jba5rmhR769OG7cye--V4g", s1).Result;
if (response.IsSuccessStatusCode)
{
var products = response.Content.ReadAsAsync<object>().Result;
}
else
{
Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
}

使用HttpClient操作ASP.NET Web API 2.1增删改查的更多相关文章

  1. 使用HttpClient对ASP.NET Web API服务实现增删改查

    本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查. 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序&quo ...

  2. 前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查

    AngularJS中的$resource服务相比$http服务更适合与RESTful服务进行交互.本篇后端使用ASP.NET Web API, 前端使用$resource,实现增删改查. 本系列包括: ...

  3. 关于操作 ASP.NET Web API的实例

    WCF的野心造成了它的庞大复杂,HTTP的单纯造就了它的简单优美.为了实现分布式Web应用,我们不得不将两者凑合在一起 —— WCF服务以HTTP绑定宿主于IIS. 于是有了让人晕头转向的配置.让人郁 ...

  4. 使用HttpClient消费ASP.NET Web API服务

    本篇体验使用HttpClient消费ASP.NET Web API服务,例子比较简单. 依次点击"文件","新建","项目". 选择&quo ...

  5. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  6. 基于gin的golang web开发:mysql增删改查

    Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动.标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx. go get git ...

  7. Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)

    接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...

  8. 通过flask实现web页面简单的增删改查bootstrap美化版

    通过flask实现web页面简单的增删改查bootstrap美化版 项目目录结构 [root@node1 python]# tree -L 2 . ├── animate.css ├── fileut ...

  9. 通过flask实现web页面简单的增删改查

    通过flask实现web页面简单的增删改查 # 1.后台程序falsk_web01.py #coding:utf-8 from flask import Flask,render_template,r ...

随机推荐

  1. Log4j使用教程 log4:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).

    1.Logger类 通过Logger类的静态方法Logger.getRootLogger得到RootLogger.所有其他的loggers是通过静态方法Logger.getLogger来实例化并获取的 ...

  2. 10 steps to becoming the developer everyone wants

    You thought it was all about programming skills. But you were wrong! Great code is fine, yet command ...

  3. ldconfig deferred processing now taking place

    在ubuntu下面安装软件,安装结束后,提示:ldconfig deferred processing now taking place 到网上查询了一下,大概意思是说:软件安装完了,是否要重启电脑.

  4. sql 联合查询并更新

    update sales set sales.adminId = t.adminIdfrom (select a.adminId,a.realName from sales ,admin_admini ...

  5. C语言运算符优先级和口诀 (转)

    一共有十五个优先级: 1   ()  []  .  -> 2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   ...

  6. [转]uses-permission权限列表

    android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传 android.permiss ...

  7. nginx负载均衡 加权轮询和ip_hash

    下面给大家总结了几种真正的nginx负载均衡的功能了,在此我们加了一个权重判断法就是根据nginx负载的状态实现分配访问用户到权重值少的机器了,具体配置如下. nginx为后端web服务器(apach ...

  8. Mac SVN <CornerStone>的安装和配置

    cornerstone需要注意的地方 cornerstone文件夹的删除必须在 cornerstone软件里面删, 否则commit就会显示 up of date, 同步不了 http://www.t ...

  9. [BZOJ4530][Bjoi2014]大融合 LCT + 启发式合并

    [BZOJ4530][Bjoi2014]大融合 试题描述 小强要在N个孤立的星球上建立起一套通信系统.这套通信系统就是连接N个点的一个树. 这个树的边是一条一条添加上去的.在某个时刻,一条边的负载就是 ...

  10. MySQL建立索引的注意事项

    对于大数据量的表格,尤其是百万行以上的数据表,一定要对其建立索引,否则查询速度极慢.(参考后面的测试结果)建立索引时需注意: MySQL的索引有两种:单列索引(即在某一列上建索引).多列组合索引(即在 ...