一、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 的简单示例的更多相关文章

  1. Linux下的C Socket编程 -- server端的简单示例

    Linux下的C Socket编程(三) server端的简单示例 经过前面的client端的学习,我们已经知道了如何创建socket,所以接下来就是去绑定他到具体的一个端口上面去. 绑定socket ...

  2. C# 构建XML(简单示例)

    C# 构建XML的简单示例: var pars = new Dictionary<string, string> { {"url","https://www. ...

  3. 根据juery CSS点击一个标签弹出一个遮罩层的简单示例

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  4. ACEXML解析XML文件——简单示例程序

    掌握了ACMXML库解析XML文件的方法后,下面来实现一个比较完整的程序. 定义基本结构 xml文件格式如下 <?xml version="1.0"?> <roo ...

  5. demo工程的清单文件及activity中api代码简单示例

    第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...

  6. spring-servlet.xml简单示例

    spring-servlet.xml简单示例 某个项目中的spring-servlet.xml 记下来以后研究用 <!-- springMVC简单配置 --> <?xml versi ...

  7. SignalR 简单示例

    一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...

  8. Web API 简单示例

    一.RESTful和Web API Representational State Transfer (REST) is a software architecture style consisting ...

  9. XML引入多scheme文件约束简单示例

    XML引入多scheme文件约束简单示例,用company.xsd和department.xsd来约束company.xml: company.xsd <?xml version="1 ...

随机推荐

  1. MySQL_join连接

    join连接 table1: table2: 笛卡尔积: 就是一个表里的记录要分别和另外一个表的记录匹配为一条记录,即如果表A有2条记录,表B也有2条记录,经过笛卡尔运算之后就应该有2*2即4条记录. ...

  2. 写一个java死锁的demo

    package com.simon.study; /** * 线程死锁 一个线程要同时拥有两个对象的资源才能进行下一步操作: * @author: Simon * @date: 2017年7月29日 ...

  3. docker使用dockerfile 构建redis镜像

    FROM redis WORKDIR /data VOLUME /data EXPOSE RUN echo "success---------success" ENTRYPOINT ...

  4. 一些数学上的概念理解(持续更新qwq)

    致敬百度百科qwq 本文摘自百度百科,只是对于信竞范围内的知识做一个小总结qwq,持续更新ing··· 满射: 如果每个可能的像至少有一个变量映射其上(即像集合B中的每个元素在A中都有一个或一个以上的 ...

  5. 启动Azure模拟器出错解决方案

    错误弹窗: 输出控制台: Microsoft Azure Tools: Warning: Overriding public port 80 to 2888 in role 'WebRole1'. M ...

  6. Alpha冲刺随笔—:第一天

    课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(十天冲刺) 团队名称:葫芦娃队 作业目标:在十天冲刺里对每天的任务进行总结. 随笔汇总:https://www.cnblogs ...

  7. 数据库中,表一sum得出一个值,赋给表二的某个字段,为null

    尝试使用了isnull(arg1,arg2)函数表示无效 最后运用了COALESCE(arg1,arg2,arg3,...) 该函数标识返回参数中第一个不为null的值. update  a set ...

  8. AJAX请求状态码返回200却跳到error的function

    最近在搞公司的项目时,发现了一个神奇的问题,就是AJAX请求成功,却莫名其妙的不返回到success函数中,而是跳到了error函数中.公司的项目是ASP.NET,这个和用的什么语言没有多大关系,只要 ...

  9. Python获取系统音量

    1,如果是windows下 试试这个python 模块winsoundhttp://docs.python.org/2/library/winsound.html这个也可以winmm调整windows ...

  10. windows下配置 GNU的gdb调试功能

    1.配置 修改环境变量(前提电脑中存在gdb.exe) 1. 我的电脑->属性->环境......在path那一项后面添加你DEV-C++ Bin目录的路径(gdb.exe所在目录),如: ...