1.WebApiConfig配置API路由

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http; namespace WebAPIDemo1
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 配置和服务 // Web API 路由
config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute(
name: "DefaultApi",
//api/controller控制器名/action方法名/id参数名
routeTemplate: "api/{controller}/{action}/{id}", // routeTemplate: "api/{controller}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}

2.配置Global.asax文件中Application_Start

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Routing; namespace WebAPIDemo1
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
}

3.创建PersonController控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPIDemo1.Models; namespace WebAPIDemo1.Controllers
{
public class PersonController : ApiController
{
#region GET
// /api/person/Get
public string[] Get()
{
return new string[] { "ru", "qq", "wx" };
}
// /api/person/Get?id=
public string Get(int id)
{
return "这是:" + id;
}
// /api/person/Get?name=
public string Get(string name)
{
return "姓名:" + name;
}
#endregion
#region Post
/// <summary>
/// 参数在地址栏上
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
// /api/person/Post?value=123
public string Post(string value)
{
return "Post请求值" + value;
}
/// <summary>
/// 参数不在地址栏上
/// </summary>
/// <param name="value"></param>
/// <returns>/api/person/Post </returns>
public string Post([FromBody]BodyValue value)
{
return "Post请求值" + value.value;
}
#endregion public string Put(int id, [FromBody] string value)
{
return "Put请求值:" + value + ",id:" + id;
} public string Delete(int id)
{ return "数据id为" + id + "删除成功";
}
//[HttpGet]
[HttpPost]
// /api/person/Login?Uid=admin&Pwd=123
public bool Login(string Uid, string Pwd)
{
if (Uid == "admin" && Pwd == "123")
return true;
else
return false;
} [HttpGet]
//入参实体参数FromUri
//api/person/Login2?Uid=admin&Pwd=456
public bool Login2([FromUri] UseInfo Model)
{
if (Model.Uid == "admin" && Model.Pwd == "123")
return true;
else
return false;
}
//Post 表单提交类型application/x-www-form-urlencoded
//body==>raw==>json==>{"Uid":"admin","Pwd":"123"}
//api/person/Login3
[HttpPost]
public bool Login3([FromBody] UseInfo Model)
{
if (Model.Uid == "admin" && Model.Pwd == "123")
return true;
else
return false;
} }
}

4.创建DogController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http; namespace WebAPIDemo1.Controllers
{
[RoutePrefix("api/Test")]
//第三种/api/Dog/Get
public class DogController : ApiController
{
[HttpGet]
//[Route("api/Dog/Get888")]第二种/api/Dog/Get888
//[Route("Get888")] //第一种/api/Test/Get888
//不加route /api/Dog/Get888
public string Get()
{
return "Get666";
} [HttpGet]
[Route("Login/{Uid}/{Pwd}")]
//加route /api/Test/Login/123/456
//参数地址化
public bool Login(string Uid,string Pwd)
{
if (Uid == "admin" && Pwd == "123")
return true;
else
return false;
}
}
}

WebAPI例子的更多相关文章

  1. 【ASP.NET MVC 牛刀小试】 URL Route

    例子引入 先看看如下例子,你能完全明白吗? using System; using System.Collections.Generic; using System.Linq; using Syste ...

  2. 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  3. [.NET WebAPI系列01] WebAPI 简单例子

    [源] 来自微软WebAPI官方视频,Introduction to the ASP.NET Web API --Uniform Interface -- Demo-Using convention ...

  4. asp.net mvc项目创建WebApi简单例子

    1.创建默认路由的映射. namespace RedisDemo.App_Start { public class WebApiConfig { public static void Register ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-WebApi与Unity注入

    系列目录 前言: 有时候我们系统需要开放数据给手机App端或其他移动设备,不得不说Asp.net WebApi是目前首选 本节记录Asp.net MVC WebApi怎么利用Unity注入.系列开头已 ...

  6. webapi - 模型验证

    本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬 ...

  7. WebApi接口 - 如何在应用中调用webapi接口

    很高兴能再次和大家分享webapi接口的相关文章,本篇将要讲解的是如何在应用中调用webapi接口:对于大部分做内部管理系统及类似系统的朋友来说很少会去调用别人的接口,因此可能在这方面存在一些困惑,希 ...

  8. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  9. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

  10. Restful WebApi项目开发实践

    前言 踩过了一段时间的坑,现总结一下,与大家分享,愿与大家一起讨论. Restful WebApi特点 WebApi相较于Asp.Net MVC/WebForm开发的特点就是前后端完全分离,后端使用W ...

随机推荐

  1. Java读取文件后文件被占用

    Java读取文件响应后文件一直被占用问题 原因: 由于是封装的函数,请求和响应对象都是 形参地址 虽然在此函数里关闭了输出流,但是由于有返回值,调用未结束,输出流无法提前关闭 解决: 1:调用函数后, ...

  2. Loj 507 接竹竿 题解

    Loj链接:接竹竿 $ {\scr \color {SkyBlue}{\text{Solution}}} $ 题目大意: 给定一个数组,每次加入一种颜色的数,可以取走与它颜色相同的两个数之间的所有数, ...

  3. 使用JS实现复制粘贴功能

    使用JS实现复制粘贴功能 如果嵌套太多使用这个: // 複製單號1 // 第一步把這個放到頁面 // <div style="position:absolute; opacity: 0 ...

  4. 委派模式——从SLF4J说起

    作者:vivo 互联网服务器团队- Xiong yangxin 将某个通用解决方案包装成成熟的工具包,是每一个技术建设工作者必须思考且必须解决的问题.本文从业内流行的既有工具包入手,解析实现思路,沉淀 ...

  5. 记一次线上FGC问题排查

    引言 本文记录一次线上 GC 问题的排查过程与思路,希望对各位读者有所帮助.过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上 GC 问题有帮助. 背景 服务新功 ...

  6. Java 进阶P-11+P-12

    文本流 在流上建立文本处理 PrintWriter pw = new PrintWriter()( new BufferedWriter( new Out put StreamWriter( new ...

  7. VMware虚拟软件使用方法、网络配置与远程连接排错方法

    一.虚拟软件使用方法 1. 软件启动方法 系统当中有些软件是可以多次启动,多实例 vmware不具有多实例功能 2. 软件关闭注意事项 尽量选择挂起虚拟主机关闭软件 3. 虚拟主机拍快照(后悔药 月光 ...

  8. vue学习笔记(一) ---- vue指令(v-for 和 key 属性)

    vue指令之v-for和key属性 一. v-for 1. v-for遍历数组 <div id="app"> <h3>好饿,我好想吃~~~~</h3& ...

  9. git 拉取github项目失败(超时)

    问题 通过git拉取GitHub上的项目失败报错信息如下 fetch-pack: unexpected disconnect while reading sideband packet fatal: ...

  10. 六、python基础知识之变量常量、索引取值和PEP8规范

    目录 一.变量与常量 1.什么是变量? 2.什么是常量? 变量的基本使用 变量使用的语法结构与底层原理 变量名的命名规范和命名风格 变量的命名风格 常量的基本使用 二.索引取值 三.PEP8规范 1. ...