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 知识点总结相关推荐

  1. 解释型语言与编译型的必须知识点

    解释型语言与编译型的必须知识点 概念: 计算机不能理解直接理解高级语言,只能理解机器语言,所以必须把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种: 编译 解释 两种翻译 ...

  2. YOLOV4知识点分析(二)

    YOLOV4知识点分析(二) 数据增强相关-mixup 论文名称:mixup: BEYOND EMPIRICAL RISK MINIMIZATION 论文地址:https://arxiv.org/ab ...

  3. YOLOV4知识点分析(一)

    YOLOV4知识点分析(一) 简 介 yolov4论文:YOLOv4: Optimal Speed and Accuracy of Object Detection arxiv:https://arx ...

  4. 你需要掌握的有关.NET DateTime类型的知识点和坑位 都在这里

    引言    DateTime数据类型是一个复杂的问题,复杂到足以让你在编写[将日期从Web服务器返回到浏览器]简单代码时感到困惑. ASP.NET MVC 5和 Web API 2/ASP.NETCo ...

  5. 简练软考知识点整理-范围确认易混概念

    与确认范围容易混淆的知识点包括,确认范围与核实产品.质量控制.项目收尾,下面进行比较分析. (1)确认范围与核实产品 核实产品是针对产品是否完成,在项目(或阶段)结束时由发起人或客户来验证,强调产品是 ...

  6. 朴素贝叶斯知识点概括

    1. 简述 贝叶斯是典型的生成学习方法 对于给定的训练数据集,首先,基于特征条件独立假设,学习输入/输出的联合概率分布:然后,基于此模型,对于给定的输入x,根据贝叶斯定理求后验概率最大的输出y 术语说 ...

  7. 计算机二级函数知识,2017年全国计算机二级考试MS Office高级应用知识点:INDIRECT函数...

    INDIRECT函数知识点 适用考试:全国计算机二级考试 考试科目:MS Office高级应用 科目知识点:INDIRECT函数 INDIRECT函数立即对引用进行计算,并显示其内容.当需要更改公式中 ...

  8. python如何创建一个类_python (知识点:类)简单的创建一个类

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 ...

  9. 全国计算机二级vfp知识点,全国计算机二级VFP知识点总结

    全国计算机二级 Visual FoxPro 数据库程序设计 --知识点整理资料 文件扩展名及备注文件扩展名 文件 项目 表 程序 单索引 查询 菜单定义格式 扩展名 .pjx .dbf .prg .i ...

最新文章

  1. 图解 深入浅出 JavaWeb:Servlet 再说几句
  2. java vc vb 项目结构
  3. 为什么我坚持用Go语言做Web应用开发框架?
  4. sp烘焙流程_烘焙工作流程图
  5. node 单个表加条件查询
  6. 【软件工程】基准配置(基线配置)
  7. android6.0原生brower_Android Browser学习一 application的初始化
  8. iostat lsof
  9. Typora 图床配置
  10. 软件行业各职位英文缩写
  11. linux查看 网卡信息
  12. MicroPython ESP32 ADC(模拟量转数字量)示例
  13. 计算机毕业设计(2)python毕设作品之旅游景点景区售票系统
  14. 达拉斯24_在BDConf 2012上:达拉斯
  15. linux加载u盘乱码怎么转换,Linux系统下加载U盘设备时文件乱码的有效解决方法
  16. 2013年美国大学生数学建模竞赛B题O奖21185论文解读
  17. BUG的优先级(Priority)和严重程度(Severity)Blocker, Critical, Major, Minor/Trivial
  18. Python程序——有一段英文文本,其中有单词连续重复了2次,编写程序检查重复的单词并只保留一个。
  19. android手机系统怎么刷机包,安卓手机系统怎么重装刷机
  20. 如何用java 写简单的网络ddos攻击(黑客)

热门文章

  1. Backbone的写类方式
  2. 工作事件五点作法和网络中所产生的Winsock连接与互动
  3. [UIImage imageNamed:@]使用误区
  4. Transforms CTM, 转换矩阵
  5. linux吃鸡游戏下载,沙雕糖豆人吃鸡战场
  6. 用python打造一款文件搜索工具,所有功能自己定义!
  7. centos 找不到php.ini,centos找不到php.ini文件
  8. mysql半连接_mysql表的半连接,反连接导致的mysql性能优化剖析
  9. java 继承thread_java线程-创建线程(继承 Thread 类)
  10. matlab批量储存变量_科协五分钟|用Matlab工具包处理音频信号