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. DevSecOps 需要知道的十大 K8s 安全风险及建议

    Kubernetes (K8s)是现代云原生世界中的容器管理平台.它实现了灵活.可扩展地开发.部署和管理微服务.K8s 能够与各种云提供商.容器运行时接口.身份验证提供商和可扩展集成点一起工作.然而 ...

  2. [python] 基于diagrams库绘制系统架构图

    Python的Diagrams库允许通过简单的Python代码绘制云系统架构,实现对新的系统架构进行原型设计.Diagrams的官方仓库地址见:diagrams.Diagrams的官方文档和使用示例见 ...

  3. Hive详解(01) - 概念

    Hive详解(01) - 概念 hive简介 Hive:由Facebook开源用于解决海量结构化日志的数据统计工具,是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类S ...

  4. python进阶之路5之流程控制(垃圾回收机制)

    垃圾回收机制 """ 有一些语言,内存空间的申请和释放都需要程序员自己写代码才可以完成 但是python却不需要 通过垃圾回收机制自动管理 ""&qu ...

  5. Postman实现UI自动化测试

    转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/1db4fa44.html 你好,我是测试蔡坨坨. 看到这篇文章的标题,是不是有小伙伴会感到惊讶呢? Postman不是做接口 ...

  6. CF构造题1600-1800(2)

    H. Hot Black Hot White(COMPFEST 14 - Preliminary Online Mirror (Unrated, ICPC Rules, Teams Preferred ...

  7. py之循环,函数

    循环 a=1 while a<10: print(a) a+=1 a=[123,1235,123124,1231] while a: a1=a.pop() print(a1) for a1 in ...

  8. python开发简单的命令行工具

    介绍 Python模块argparse,这是一个命令行选项,参数和子命令的解释器,使用该模块可以编写友好的命令行工具,在程序中定义好需要的参数,argparse将弄清楚如何解析 sys.argv中的参 ...

  9. C#DataTable(转List /JSON/字典 互转)

    1 #region 数据表DataTable 转键值对集合 List 2 /// <summary> 3 /// 数据表DataTable 转键值对集合 List 4 /// 把DataT ...

  10. 淘宝首页数据采集之js采集

    搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 既然能打到控制台,当然也能传到系统!!! 既然能打到控制台,当然也能传到系统!!! 既然能打 ...