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, "");
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, "");
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');
});

WebApi2 知识点总结的更多相关文章

  1. ASP.NET Core 中的那些认证中间件及一些重要知识点

    前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...

  2. ASP.NET MVC开发:Web项目开发必备知识点

    最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...

  3. UWP开发必备以及常用知识点总结

    一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...

  4. C#高级知识点&(ABP框架理论学习高级篇)——白金版

    前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...

  5. lucene 基础知识点

    部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...

  6. DoraCMS 源码知识点备注

    项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https:// ...

  7. atitit 商业项目常用模块技术知识点 v3 qc29

    atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...

  8. HTML5知识点总结

    HTML5知识点总结(一) 一.HTML新增元素 1.IE9版本以下支持HTML5的方法 <!--[if lt IE9]> <script src="http://cdn. ...

  9. JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

随机推荐

  1. hdu 4352 数位dp+nlogn的LIS

    题意:求区间L到R之间的数A满足A的的数位的最长递增序列的长度为K的数的个数. 链接:点我 该题的关键是记录LIS的状态,学习过nlogn解法的同学都知道,我们每次加入的元素要和前面的比对替换,这里就 ...

  2. 没有调用PageHelper.startPage()分页方法,最后还是执行了PageHelper分页方法的原因

    SELECT * FROM ( SELECT TMP_PAGE.*, ROWNUM ROW_ID FROM ( SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( ...

  3. 线段树--codevs 1690 开关灯

    codevs 1690 开关灯 USACO  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description YYX家门前的街上有N(2& ...

  4. PAT甲级1049. Counting Ones

    PAT甲级1049. Counting Ones 题意: 任务很简单:给定任何正整数N,你应该计算从1到N的整数的十进制形式的1的总数.例如,给定N为12,在1,10, 11和12. 思路: < ...

  5. oc(object-c)知识汇总/总结/区别对比(持续更新)

    1.判断某个类是否实现了某方法: A *a =[[A alloc] autorelease]; if([a respondsToSelector:@selector(methodName)]){ // ...

  6. Spring工具类ToStringBuilder用法简介

    比如说我们需要打印某个方法的User参数对象 package test; /** * * @author zhengtian * @time 2012-6-28 */ public class Use ...

  7. 杭州有赞公司招聘 资深PHP开发工程师(平台架构方向)、技术专家

  8. sql 锁类型与锁机制 转

      SQL Server锁类型(SQL)收藏1. HOLDLOCK: 在该表上保持共享锁,直到整个事务结束,而不是在语句执行完立即释放所添加的锁.   2. NOLOCK:不添加共享锁和排它锁,当这个 ...

  9. @JsonInclude(Include.NON_NULL)

    前端的同事要求说尽量不要有null,可有为空串“” 或者 0 或者 [], 但尽量不要null. 所以@JsonInclude(Include.NON_NULL) 这个注解放在类头上就可以解决. 实体 ...

  10. jq设置样式

    单个样式: $(this).css("color","red"); 多个样式: $(this).css({color:"red",backg ...