WebAPI例子
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例子的更多相关文章
- 【ASP.NET MVC 牛刀小试】 URL Route
例子引入 先看看如下例子,你能完全明白吗? using System; using System.Collections.Generic; using System.Linq; using Syste ...
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- [.NET WebAPI系列01] WebAPI 简单例子
[源] 来自微软WebAPI官方视频,Introduction to the ASP.NET Web API --Uniform Interface -- Demo-Using convention ...
- asp.net mvc项目创建WebApi简单例子
1.创建默认路由的映射. namespace RedisDemo.App_Start { public class WebApiConfig { public static void Register ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-WebApi与Unity注入
系列目录 前言: 有时候我们系统需要开放数据给手机App端或其他移动设备,不得不说Asp.net WebApi是目前首选 本节记录Asp.net MVC WebApi怎么利用Unity注入.系列开头已 ...
- webapi - 模型验证
本次要和大家分享的是webapi的模型验证,讲解的内容可能不单单是做验证,但都是围绕模型来说明的:首先来吐槽下,今天下午老板为自己买了套新办公家具,看起来挺好说明老板有钱,不好的是我们干技术的又成了搬 ...
- WebApi接口 - 如何在应用中调用webapi接口
很高兴能再次和大家分享webapi接口的相关文章,本篇将要讲解的是如何在应用中调用webapi接口:对于大部分做内部管理系统及类似系统的朋友来说很少会去调用别人的接口,因此可能在这方面存在一些困惑,希 ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解 ...
- Restful WebApi项目开发实践
前言 踩过了一段时间的坑,现总结一下,与大家分享,愿与大家一起讨论. Restful WebApi特点 WebApi相较于Asp.Net MVC/WebForm开发的特点就是前后端完全分离,后端使用W ...
随机推荐
- yolov5数据集制作 数据集分割+voc格式转txt格式代码
先上数据集分割代码 网上没找到合适的 自己写了一个 分割比例为0.6 :0.2 :0.2 import os import random oriImgDir = "./change14img ...
- S2-013 CVE-2013-1966
漏洞名称 S2-013 CVE-2013-1966 远程命令执行 利用条件 Struts 2.0.0 - Struts 2.3.14.1 漏洞原理 Struts2 标签中 <s:a> 和 ...
- Volcano 社区 v1.7.0 版本正式发布 | 云原生批量计算
摘要:北京时间2023年1月9日,Volcano社区v1.7.0版本正式发布. 本文分享自华为云社区<Volcano 社区 v1.7.0 版本正式发布 | 云原生批量计算>,作者:华为云云 ...
- Coolify系列-解决WARNING: IPv4 forwarding is disabled. Networking will not work.以及开启防火墙端口
背景 我在windows电脑安装了一个VM,使用VM开启了Linux服务器,运行docker,然后遇到了这个报错. 解决 首先:在宿主机上执行 echo "net.ipv4.ip_forwa ...
- ReentrantLock介绍及源码解析
ReentrantLock介绍及源码解析 一.ReentrantLock介绍 ReentrantLock是JUC包下的一个并发工具类,可以通过他显示的加锁(lock)和释放锁(unlock)来实现线程 ...
- Django-Django基本使用、app、三板斧
1.纯手撸web框架 1.web框架的本质 理解1:连接前端与数据库的中间介质 理解2:socket服务端 2.手写web框架 1.编写socket服务端代码 2.浏览器访问响应无效>>& ...
- Debian11换源
vi /etc/apt/sources.list deb http://mirrors.ustc.edu.cn/debian/ bullseye main non-free contrib deb-s ...
- Windows/office常用的激活工具有哪些
Windows/office常用的激活方式 Windows激活方式有两种 Kms激活与数字权利永久激活,这两种激活方式各有优势,KMS激活通用性强(支持Windows+Office),但只能激活180 ...
- Google Guice 用户指南 - Ⅰ:概览
译者:kefate 原文:https://github.com/google/guice/wiki/Overview 大家好,我是kefate.今天开始我将会把Google Guice的官方文档陆续翻 ...
- P21_事件传参与数据同步
事件绑定 在事件处理函数中为 data 中的数据赋值 通过调用 this.setData(dataObject) 方法,可以给页面 data 中的数据重新赋值,示例如下: 事件传参 小程序中的事件传参 ...