WebApi2|WebApi2 知识点总结
1、建议使用异步接口async Task<>
public async TaskGet()
如果返回的是IEnumerable请使用:
return Ok>(sites);
如果返回是实体请使用:
return Ok(entity);
此返回常常在获取一个类型值时使用:
public async TaskGet(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和位置
【WebApi2|WebApi2 知识点总结】2、在WebApi里怎样自定义方法?怎样调用方法?
public async TaskGetTest(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 TaskGetTest(string account) { string restmsg = await UserLogin("十五里元中学", account, "0000"); return Ok(restmsg); }
上面要调用则使用:/api/users/test/james方式
-------------------------------------------------------------------------------------
再来看Post示例
[HttpPost] public async TaskPostLogin(string school)
这个表示是Post访问调用,它的调用为:/api/Users/login?school=十五里元中学
如果多个参数,建议直接使用类型传值,不要使用string。比如:
[HttpPost] public async TaskPostLogin(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'); });
推荐阅读
- 7.9号工作总结~司硕
- 小学英语必考的10个知识点归纳,复习必备!
- 最有效的时间管理工具(赢效率手册和总结笔记)
- 数据库总结语句
- 周总结|周总结 感悟
- 周总结43
- 参加【21天写作挑战赛】,第七期第14天,挑战感受小总结
- 第二阶段day1总结
- 新梦想91期特训班两天一晚学习感想及总结(学生(魏森林))
- 周总结(10.5-10.11)