WebApi2 知识点总结
1、建议使用异步接口async Task<>
public async Task<IHttpActionResult> Get()
如果返回的是IEnumerable请使用:
return Ok<IEnumerable<ListSitesDetails>>(sites);
如果返回是实体请使用:
return Ok(entity);
此返回常常在获取一个类型值时使用:
public async Task<IHttpActionResult> Get(int id)
如果仅仅返回一个成功结果200就是直接Ok();就行了
如果想返回一个实体类又想返回一个地址路由请使用:
return CreatedAtRoute("DefaultApi", new {controller="Home",id=sites.Id }, sites); 转到api/Home/id上,并返回刚刚添加的sites新内容
return Created("http://www.*.com",sites);返回sites和位置
2、在WebApi里怎样自定义方法?怎样调用方法?
public async Task<IHttpActionResult> GetTest(string account){string restmsg = await UserLogin("十五里元中学", account, "0000");return Ok(restmsg);}
如果是get访问则所有方法前面都要加Get; Post则要加Post;可是调用的时候要去掉Get/Post
比如上面的代码要调用它要这样:/api/users/test?account=james
当然你也可以添加路由改变访问方式:
[Route("api/users/gettest/{account}")] public async Task<IHttpActionResult> GetTest(string account){string restmsg = await UserLogin("十五里元中学", account, "0000");return Ok(restmsg);}
上面要调用则使用:/api/users/test/james方式
-------------------------------------------------------------------------------------
再来看Post示例
[HttpPost]public async Task<IHttpActionResult> PostLogin(string school)
这个表示是Post访问调用,它的调用为:/api/Users/login?school=十五里元中学
如果多个参数,建议直接使用类型传值,不要使用string。比如:
[HttpPost]public async Task<IHttpActionResult> PostLogin(Item item)
public class Item {public string school{get;set;}public string account{get;set;}public string password{get;set;} }
调用:
var item = {'school':'十五里元中学','account':'james','password':'0000'}; return $http({url: 'api/user/login',method: 'POST',type: 'application/json',data: item }).then(function (user) {// check the user is null or not and take action }).error(function (error) {alert('invalid'); });
学习交流群:364976091
WebApi2 知识点总结相关推荐
- 解释型语言与编译型的必须知识点
解释型语言与编译型的必须知识点 概念: 计算机不能理解直接理解高级语言,只能理解机器语言,所以必须把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种: 编译 解释 两种翻译 ...
- YOLOV4知识点分析(二)
YOLOV4知识点分析(二) 数据增强相关-mixup 论文名称:mixup: BEYOND EMPIRICAL RISK MINIMIZATION 论文地址:https://arxiv.org/ab ...
- YOLOV4知识点分析(一)
YOLOV4知识点分析(一) 简 介 yolov4论文:YOLOv4: Optimal Speed and Accuracy of Object Detection arxiv:https://arx ...
- 你需要掌握的有关.NET DateTime类型的知识点和坑位 都在这里
引言 DateTime数据类型是一个复杂的问题,复杂到足以让你在编写[将日期从Web服务器返回到浏览器]简单代码时感到困惑. ASP.NET MVC 5和 Web API 2/ASP.NETCo ...
- 简练软考知识点整理-范围确认易混概念
与确认范围容易混淆的知识点包括,确认范围与核实产品.质量控制.项目收尾,下面进行比较分析. (1)确认范围与核实产品 核实产品是针对产品是否完成,在项目(或阶段)结束时由发起人或客户来验证,强调产品是 ...
- 朴素贝叶斯知识点概括
1. 简述 贝叶斯是典型的生成学习方法 对于给定的训练数据集,首先,基于特征条件独立假设,学习输入/输出的联合概率分布:然后,基于此模型,对于给定的输入x,根据贝叶斯定理求后验概率最大的输出y 术语说 ...
- 计算机二级函数知识,2017年全国计算机二级考试MS Office高级应用知识点:INDIRECT函数...
INDIRECT函数知识点 适用考试:全国计算机二级考试 考试科目:MS Office高级应用 科目知识点:INDIRECT函数 INDIRECT函数立即对引用进行计算,并显示其内容.当需要更改公式中 ...
- python如何创建一个类_python (知识点:类)简单的创建一个类
#!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 ...
- 全国计算机二级vfp知识点,全国计算机二级VFP知识点总结
全国计算机二级 Visual FoxPro 数据库程序设计 --知识点整理资料 文件扩展名及备注文件扩展名 文件 项目 表 程序 单索引 查询 菜单定义格式 扩展名 .pjx .dbf .prg .i ...
最新文章
- 图解 深入浅出 JavaWeb:Servlet 再说几句
- java vc vb 项目结构
- 为什么我坚持用Go语言做Web应用开发框架?
- sp烘焙流程_烘焙工作流程图
- node 单个表加条件查询
- 【软件工程】基准配置(基线配置)
- android6.0原生brower_Android Browser学习一 application的初始化
- iostat lsof
- Typora 图床配置
- 软件行业各职位英文缩写
- linux查看 网卡信息
- MicroPython ESP32 ADC(模拟量转数字量)示例
- 计算机毕业设计(2)python毕设作品之旅游景点景区售票系统
- 达拉斯24_在BDConf 2012上:达拉斯
- linux加载u盘乱码怎么转换,Linux系统下加载U盘设备时文件乱码的有效解决方法
- 2013年美国大学生数学建模竞赛B题O奖21185论文解读
- BUG的优先级(Priority)和严重程度(Severity)Blocker, Critical, Major, Minor/Trivial
- Python程序——有一段英文文本,其中有单词连续重复了2次,编写程序检查重复的单词并只保留一个。
- android手机系统怎么刷机包,安卓手机系统怎么重装刷机
- 如何用java 写简单的网络ddos攻击(黑客)
热门文章
- Backbone的写类方式
- 工作事件五点作法和网络中所产生的Winsock连接与互动
- [UIImage imageNamed:@]使用误区
- Transforms CTM, 转换矩阵
- linux吃鸡游戏下载,沙雕糖豆人吃鸡战场
- 用python打造一款文件搜索工具,所有功能自己定义!
- centos 找不到php.ini,centos找不到php.ini文件
- mysql半连接_mysql表的半连接,反连接导致的mysql性能优化剖析
- java 继承thread_java线程-创建线程(继承 Thread 类)
- matlab批量储存变量_科协五分钟|用Matlab工具包处理音频信号