使用HttpClient操作ASP.NET Web API 2.1增删改查
使用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增删改查的更多相关文章
- 使用HttpClient对ASP.NET Web API服务实现增删改查
本篇体验使用HttpClient对ASP.NET Web API服务实现增删改查. 创建ASP.NET Web API项目 新建项目,选择"ASP.NET MVC 4 Web应用程序&quo ...
- 前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查
AngularJS中的$resource服务相比$http服务更适合与RESTful服务进行交互.本篇后端使用ASP.NET Web API, 前端使用$resource,实现增删改查. 本系列包括: ...
- 关于操作 ASP.NET Web API的实例
WCF的野心造成了它的庞大复杂,HTTP的单纯造就了它的简单优美.为了实现分布式Web应用,我们不得不将两者凑合在一起 —— WCF服务以HTTP绑定宿主于IIS. 于是有了让人晕头转向的配置.让人郁 ...
- 使用HttpClient消费ASP.NET Web API服务
本篇体验使用HttpClient消费ASP.NET Web API服务,例子比较简单. 依次点击"文件","新建","项目". 选择&quo ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 基于gin的golang web开发:mysql增删改查
Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动.标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx. go get git ...
- Android(java)学习笔记193:利用谷歌API对数据库增删改查(推荐使用)
接下来我们通过项目案例来介绍:这个利用谷歌API对数据库增删改查 1.首先项目图: 2.这里的布局文件activity_main.xml: <LinearLayout xmlns:android ...
- 通过flask实现web页面简单的增删改查bootstrap美化版
通过flask实现web页面简单的增删改查bootstrap美化版 项目目录结构 [root@node1 python]# tree -L 2 . ├── animate.css ├── fileut ...
- 通过flask实现web页面简单的增删改查
通过flask实现web页面简单的增删改查 # 1.后台程序falsk_web01.py #coding:utf-8 from flask import Flask,render_template,r ...
随机推荐
- 我和NLP的故事(转载)
正值ACL录用结果发布,国内的老师和同学们又是一次大丰收,在这里再次恭喜所有论文被录用的老师和同学们!我人品爆发,也收获了自己硕士阶段的第二篇ACL论文.本来只是想单纯分享下自己中论文的喜悦,但没成想 ...
- nuget pack
nuget spec nuget setApiKey yourkeynuget pack PluginMvc.Framework.csproj -Prop Configuration=Releasen ...
- go tool proof
echo list | go tool pprof -alloc_space gateway http://10.2.1.93:8421/debug/pprof/heap > abc.log e ...
- IIS6.0文件解析漏洞小结
今天搞站,本来这个站是aspx的,webserver是IIS6.0的,进入后台之后,发现有一个上传图片的地方,于是,我就上传了一张asp/aspx的一句话图片木马,但是用菜刀连接的时候,没有成功get ...
- 新浪微博客户端(14)-截取回调地址中的授权成功的请求标记,换取access_token
DJOAuthViewController.m #import "DJOAuthViewController.h" #import "AFNetworking.h&quo ...
- JSP 容易弄混的几点总结
最近在做Java Web方面的整理,遇到些问题,发现自己印象也不是很深刻了,这里作下整理,以后遇到问题再更新. 一.<%@include file="页面名称"%>和& ...
- HDU 1018 Big Number (数学题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1018 解题报告:输入一个n,求n!有多少位. 首先任意一个数 x 的位数 = (int)log10(x ...
- iPhone取消软件更新上边的1
去除设置的更新+1小红点提示主要分为越狱和非越狱设备两种方法. 越狱状态下方法: 首先将你的设备进行越狱: 越狱后安装ifile(这个自行搜索安装): 用ifile打开/System/Library/ ...
- Lucas的数论(math)
Lucas的数论(math) 题目描述 去年的今日,Lucas仍然是一个热爱数学的孩子.(现在已经变成业界毒瘤了> <) 在整理以前的试题时,他发现了这么一道题目:求\(\sum\limi ...
- exFAT是支持Mac和Win的
exFAT是支持Mac和Win的 转自: http://bbs.feng.com/read-htm-tid-8214017.html