WebApi2 知识点总结
知识点 总结
2023-09-11 14:19:21 时间
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'); });
相关文章
- Go语言知识点总结
- 平面设计基础(PS)知识点总结
- Office基础知识点总结(二)
- 计算机网络常考知识点总结
- 【学习总结】jmeter核心知识点
- Javascript + Dom知识点总结
- 近期做前端在线聊天页面几个小知识点的总结
- Java核心知识点学习----使用Condition控制线程通信
- Java核心知识点学习----多线程并发之线程间的通信,notify,wait
- 【STM32H7教程】第90章 STM32H7的CAN FD总线之关键知识点整理
- Atitit 法学体系树与知识点attilax大总结 法学体系 0301法学类030101 法学理论宪法 行政法 民法 商法 婚姻法和继承法 经济法 社会法 刑法 民事诉讼法 行政诉讼法
- Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx
- Atitit 编程语言知识点tech tree v2 attilax大总结
- Linux应用层开发相关知识点
- 大数据开发面试知识点总结
- c++函数指针相关知识点详细总结!!!
- 2022最全Android中高级开发知识点总结(超详细整理)
- 多目标算法的补充小知识点(Python实现)
- 机试之前最后的知识点总结。
- B树知识点复习
- 传输层 知识点总结
- 计算机导论期末知识点及试题总结 [近三万字总结 · 全]
- Java开发必学知识点总结,让你从小白到大咖