WebApi2 知识点总结

简介: 1、建议使用异步接口async Task public async Task Get() 如果返回的是IEnumerable请使用: return Ok(sites); 如果返回是实体请使用: return Ok(entity); 此返回常常在获取一个类型值时...

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
相关文章
|
4月前
|
设计模式 存储 算法
二十三种设计模式全面解析-前言
二十三种设计模式全面解析-前言
|
1月前
|
JavaScript 前端开发 Java
Web知识点复习
Web知识点复习
28 1
|
4月前
|
JavaScript 前端开发 IDE
前端—每天5道面试题(十四)
前端—每天5道面试题(十四)
|
5月前
|
存储 前端开发 搜索推荐
自定义MVC框架【上篇】--原理
自定义MVC框架【上篇】--原理
51 0
|
编解码 JavaScript 前端开发
WebApi入门第一章(WebApi介绍)
WebApi入门第一章(WebApi介绍)
249 0
WebApi入门第一章(WebApi介绍)
|
Web App开发 设计模式 开发框架
Javaweb重要知识点总结(六)常见的前端框架
Javaweb重要知识点总结(六)常见的前端框架
|
存储 XML 移动开发
【重温基础】17.WebAPI介绍
【重温基础】17.WebAPI介绍
127 0
|
缓存 API 网络架构
WebAPI简介
有三个核心:资源(resource),URL(统一资源标识符)和表示
292 0
WebAPI简介
|
Web App开发 XML Java
webservice的一些知识点
SOA:(Service-Oriented Architecture)(面向服务的架构)它是有利于在不同应用程序间实现松散耦合集成的软件架构。 SOA架构的实体:服务提供商(Service Provider) 服务注册表(Service Register) 服务使用者(Service Consumer) SOA概念通过Web服务实现。
1691 0
|
前端开发 API 数据格式