WebApi一个控制器中定义多个Get方法。
问题:怎样解决一个ApiController中定义多个Get方法或者Post方法?
答:要想实现一个ApiController中定义多个Get方法或者Post方法,则需要在WebApiConfig类中的Register()中自定义路由规则,规则中显示指定action。
示例:
- // Web API 路由
- config.MapHttpAttributeRoutes();
- //自定义指定action的路由。2017.11.11 14:56 added by longdb
- config.Routes.MapHttpRoute(
- name: "WebApiTest",
- routeTemplate: "api/{controller}/{action}/{id}",
- defaults: new { id = RouteParameter.Optional }
- );
- //默认路由规则。
- //config.Routes.MapHttpRoute(
- // name: "WebApiTest",
- // routeTemplate: "api/{controller}/{id}",
- // defaults: new { id = RouteParameter.Optional }
- //);
ApiController中两个Get方法:
- public class WebApiTestController : ApiController
- {
- [HttpGet]
- public string GetString()
- {
- string sql = @"SELECT TOP 10 0 cnt, '1' ck,no,name,object,score,id FROM dbo.infor
- WHERE id IN(SELECT TOP 10 id FROM dbo.infor ORDER BY id)
- UNION ALL
- SELECT COUNT(id) cnt,'1' ck,'' no, '' name,'' object,'' score,'' id FROM dbo.infor";
- DataTable dt = DBHelper.DBExecuteByAdapter(sql);
- return JSONInterFace.DataTableToJsonWithJsonNet(dt);//.Rows.Count.ToString();
- }
- [HttpGet]
- public IHttpActionResult GetStudentInfor()
- {
- List<StudentModel> stlists = new List<StudentModel>();
- stlists.Add(new StudentModel { hno = "", hname = "龙大炳", hobject = "WebApi", hscore = "" });
- stlists.Add(new StudentModel { hno = "", hname = "龙大炳", hobject = "Ajax", hscore = "" });
- stlists.Add(new StudentModel { hno = "", hname = "龙大炳", hobject = "SignalR", hscore = "" });
- return Json<List<StudentModel>>(stlists);//, Newtonsoft.Json.JsonSerializer.CreateDefault.stlists);
- }
- }
注意点:不能定义重复名称的路由,路由名称必须唯一。
WebApi一个控制器中定义多个Get方法。的更多相关文章
- 在C++Builder中定义事件的实现方法
++Builder是由Borland公司推出的一款可视化集成开发工具.C++Builder的集成开发环境(IDE)提供了一系列可视化快速应用程序开发(RAD)工具,让程序员可以很轻松地建立和管理自己的 ...
- stm32存储器映像和标准库中定义外设地址的方法
结合存储器映像理解stm32标准库中定义外设地址的方法. stm32f103zet6是32位的.它所能访问的地址空间范围为2^32=4GB,把4GB分为8个block,分别为block0-block- ...
- C#判断一个类中有无"指定名称"的方法
C#中可以通过反射分析元数据来解决这个问题,示例代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 ...
- python统计一个文本中重复行数的方法
python统计一个文本中重复行数的方法 这篇文章主要介绍了python统计一个文本中重复行数的方法,涉及针对Python中dict对象的使用及相关本文的操作,具有一定的借鉴价值,需要的朋友可以参考下 ...
- MSSQL sqlserver 统计"一个字符串"在"另一个字符串"中出现的次数的方法
转自 http://www.maomao365.com/?p=9858 摘要: 下文讲述sqlserver中最快获取一个字符串在另一个字符串中出现个数的方法分享 实验环境:sql server 20 ...
- ansible中定义变量的若干方法
Ansible支持十几种定义变量的方式 根据优先级排序的定义方式: Inventory变量 Host Facts变量 Playbook变量 Playbook提示变量 变量文件 命令行变量 1.Inve ...
- C语言引用另一个源文件中定义的数组
C语言中是可以引用另外一个源文件的全局数组的,但是不能引用局部数组. 引用方式举例如下: 设a.c文件有有数据定义 int array1[10]; 现有b.c文件中想访问a.c中的array1数组 ...
- 关于使用 pushViewController: animated: 方法在下一个控制器中拿不到值的解决方法
如下代码: // 加载一个tabbar控制器 houseMessageTabbarController *houseTabbar = [[houseMessageTabbarController al ...
- 关于swagger——WebApi一个controller中出现多个Get是出现错误的处理
如 /// <summary> /// 测试处理 /// </summary> public class TestController : ApiController { // ...
随机推荐
- C# Redis实战(一)
一.初步准备 Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库.Redis的出现,很大程度补偿了memcached这类key/va ...
- Django用户登录与注册系统
一.创建项目 1.1.创建项目和app python manage.py startproject mysite_login python manage.py startapp login 1.2.设 ...
- git团队协作
hi,team,我们目前使用的是git做项目管理,它是非常优秀的版本控制工具,使用好可以极大提高我们团队开发效率.但是,出现不必要的冲突和代码丢失就要费时解决这些可避免的问题. git开发流程 这个流 ...
- Log4Net五部曲
本文主要讲述如何构建封装一个日志工具类,以及在该过程中遇到的问题, 关于Log4Net的介绍,就不详细赘述了,更多详细的技术可参考http://www.cnblogs.com/kissazi2/p/3 ...
- webuploader 上传文件 生成链接下载文件
最近 在asp.net MVC 项目 需要实现一个Excel和 图片上传功能.之前有使用过SWFUpload 做过上传图片功能,在本次实现过程中,有人推荐WebUploader 上传组件,因此采用we ...
- Python机器学习中文版目录
建议Ctrl+D保存到收藏夹,方便随时查看 人工智能(AI)学习资料库 Python机器学习简介 第一章 让计算机从数据中学习 将数据转化为知识 三类机器学习算法 第二章 训练机器学习分类算法 透过人 ...
- 忘记root密码---单用户模式进入及操作
修改root密码----------------单用户模式操作 个人原创博客,转载请注明,否则追究法律责任 1,开机后,迅速按下任意键 2,选择第二个:内核,按e 3,在quient后面按空格 1 或 ...
- 【原创】开启PowerShell远程管理
非域网络,开启PowerShell远程管理,命令如下: 以下操作,PS命令窗口,必须都以管理员省份执行. Step 1: 机器A和B,分别开启PowerShell远程管理服务A = 192.168.3 ...
- python全栈开发-Day8 函数基础
python全栈开发-Day8 函数 一 .引子 1. 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需 ...
- Linux 绝对路径与相对路径
根据文件名写法的不同,可将所谓的路径(path)定义为绝对路径(absolute)和相对路径(relative). 绝对路径:由根目录(/)开始写起的文件名或目录名称. 相对路径:相对于当前路径的文件 ...