WEBAPI 的简单示例
一、webapi
1.在webapiconfig中移除xml的返回格式,返回格式就自动使用Json格式
config.Formatters.Remove(config.Formatters.XmlFormatter);
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http; namespace WebApplication2
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{ //移除XML格式,返回值自动就变成json格式
config.Formatters.Remove(config.Formatters.XmlFormatter);
// Web API 配置和服务 //Web API 路由
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
2.创建一个pig的控制器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http; namespace WebApplication2.Controllers
{
public class PigController : ApiController
{
//GET: api/Pig
//public IEnumerable<string> Get()
//{
// return new string[] { "大pig", "value2" };
//}
public Pig Get()
{
Pig pig = new Pig()
{
Age = 1,
Name = "大黄狗"
};
return pig;
} //GET: api/Pig/5
public string Get(int id)
{
return "value";
} //POST: api/Pig
public void Post([FromBody]string value)
{
} //PUT: api/Pig/5
public void Put(int id, [FromBody]string value)
{
}
//DELETE: api/Pig/5
public void Delete(int id)
{
}
}
}
3.发布webapi网站,url=http://localhost:34050/api/Pig
二、客户端调用
新建一个网站,简单一点,就用web窗体,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace WebApplication1
{
using System.Net;
public partial class Pig : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//1.0请求的webapi的url:http://localhost:34050/api/Pig
//1.0构造一个制定url请求对象
WebRequest request = WebRequest.Create("http://localhost:34050/api/Pig");
//2.0指定请求的方法为get
request.Method = "Get";
//3.0发出请求获取相应对象
WebResponse response = request.GetResponse(); //4.0获取相应报文体中的数据
System.IO.Stream st = response.GetResponseStream(); //5.0将st转换成字符串
string resStr = string.Empty;
using (System.IO.StreamReader sr = new System.IO.StreamReader(st))
{
//从当前流的开始位置读至结束位置
resStr = sr.ReadToEnd();//{"Age":1,"Name":"大黄狗"}
} //6.0将结果绑定到Grid上
//将json格式的字符串反序列化成集合
System.Web.Script.Serialization.JavaScriptSerializer jsoner = new System.Web.Script.Serialization.JavaScriptSerializer();
ResultPig rpig= jsoner.Deserialize<ResultPig>(resStr);
//如果结果是[{},{}]
//jsoner.Deserialize<List<ResultPig>>(resStr);
List<ResultPig> list = new List<ResultPig>() { rpig };
GridView1.DataSource = list;
GridView1.DataBind(); //Response.Write(resStr);
}
}
public class ResultPig
{
public int Age { get; set; }
public string Name { get; set; }
}
}
WEBAPI 的简单示例的更多相关文章
- Linux下的C Socket编程 -- server端的简单示例
Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...
- C# 构建XML(简单示例)
C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...
- 根据juery CSS点击一个标签弹出一个遮罩层的简单示例
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- ACEXML解析XML文件——简单示例程序
掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- spring-servlet.xml简单示例
spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...
- SignalR 简单示例
一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...
- Web API 简单示例
一.RESTful和Web API Representational State Transfer (REST) is a software architecture style consisting ...
- XML引入多scheme文件约束简单示例
XML引入多scheme文件约束简单示例,用company.xsd和department.xsd来约束company.xml: company.xsd <?xml version="1 ...
随机推荐
- spring的i o c简单回顾
1.springIOC是一个创建对象的容器,他负责将我们需要的对象帮我们创建出来,创建时间是:当我们从上下文环境中读取此对象时就会帮我们创建,严格意义上来讲它是一种编程思想不是一种技术. 2.依赖注入 ...
- 洛谷.1782.旅行商的背包(背包DP 单调队列)
题目链接(卡常背包) 朴素的多重背包是: \(f[i][j] = \max\{ f[i-1][j-k*v[i]]+k*w[i] \}\),复杂度 \(O(nV*\sum num_i)\) 可以发现求\ ...
- Python数据可视化系列-02-pyecharts可视化非常cool
pyecharts介绍 pyecharts网站 Pyecharts生成的图像,动态效果非常cool.在HTML上展示很是perfect.matplotlib用于科研,但是pyecharts用于展示和讲 ...
- LOJ2542 随机游走 Min-Max容斥+树上期望DP
搞了一下午 真的是啥都不会 首先这道题要用到Min-Max容斥 得到的结论是 设 $Max(S)$表示集合里最晚被访问的节点被访问的期望步数 设 $Min(S)$表示集合里最早被访问的节点被访问的期望 ...
- java计算某个坐标是否在范围内
java电子围栏 圆.矩形.多边形算法 http://blog.csdn.net/deepak192/article/details/79402694/ java-经纬度有关的计算(半径内的经纬度范围 ...
- (netty宝贵知识)
例子:https://segmentfault.com/a/1190000013122610?utm_source=tag-newest#articleHeader0 netty官方文档http:// ...
- Shell中的>/dev/null 2>&1 与 2>&1 >/dev/null 与&>/dev/null 的区别
默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: & ...
- kaggle PredictingRedHatBusinessValue 简单的xgboost的交叉验证
PredictingRedHatBusinessValue 这个超级简单的比赛 随手在一个kernels上面随便改了改,交叉验证的xgboost: 感觉还是稍微有一点借鉴意义的(x 注释的部分是One ...
- Asp.Net Mvc项目初始化说明
文件夹说明: App_Start 项目的启动配置 Content css以及图片资源存放位置 Controllers.Models.View控制器.模型.视图存放位置 Scripts js以及js插件 ...
- IE6的3像素bug
IE6的3像素bug3像素bug是IE6的一个著名的bug,当浮动元素与非浮动元素相邻时,这个3像素的Bug就会出现.看下面这个左列固定,右列液态的例子,css代码如下: body { margin: ...