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. CH579-Lwip-2.12移植

    代码可以参考以下链接:https://gitee.com/maji19971221/lwip-routine Lwip可以在以下链接下载:http://download.savannah.gnu.or ...

  2. Azure DevOps 的架构窥探

    工作的缘故,接触 TFS (Team Foundation Server)挺多的,现在改名为 Azure DevOps,分为 可私有化部署版本 Azure DevOps Server,简称ADS,以及 ...

  3. 【运维笔录】局域网实现项目的CI/CD,Docker+Gitea+Drone搭建轻量级自动化部署平台

    一.安装Docker 1.1 安装excpet $ apt-get -f install expect 1.2 编写执行Docker安装脚本 编写docker_dep.exp脚本 #!/usr/bin ...

  4. python之路50 ORM执行SQL语句 操作多表查询 双下线方法

    ORM执行查询SQL语句 有时候ORM的操作效率可能偏低 我们是可以自己编写SQL的 方式1: models.User.objects.raw('select * from app01_user;') ...

  5. 题解P1559 运动员最佳匹配问题

    简要题意 给出 \(n\) 个白色顶点,\(n\) 个黑色顶点.白色顶点 \(i\) 和黑色顶点 \(j\) 之间的边的权为 \(P_{i,j}\cdot Q_{j,i}\),求二分图最大权匹配. 思 ...

  6. 通过Docker启动Solace,并在Spring Boot通过JMS整合Solace

    1 简介 Solace是一个强大的实时性的事件驱动消息队列.本文将介绍如何在Spring中使用,虽然代码使用的是Spring Boot,但并没有使用相关starter,跟Spring的整合一样,可通用 ...

  7. 实操好用~~~~~antd 中 Table表格动态合并~~~

    我写了两种方法 一种是前端处理数据渲染 一种是后端处理数据渲染 数据结构略有不同 下面上代码 <template> <page-view :title="title&quo ...

  8. 异常处理的第二种方式-Throwable类中3个异常处理的方式

    异常处理的第二种方式 如果异常出现的话,会立刻终止程序,所以我们得处理异常: 1.该方法不处理,而是声明抛出,由该方法的调用者来处理(throws). 2.在方法中使用try-catch的语句块来处理 ...

  9. 异常概念&异常体系-异常分类

    异常概念&异常体系 异常,就是不正常的意思.在生活中:医生说,你的身体某个部分有异常,该部位和正常相比有点不同,该部位的功能将受影响,在程序中的意思就是: 异常:指的是程序在执行过程中,出现的 ...

  10. 【Azure Cache for Redis】Python Djange-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')

    问题描述 使用Python连接Azure Redis服务,因为在代码中使用的是Djange-redis组件,所以通过如下的配置连接到Azure Redis服务: CACHES = { "de ...