初始WebApi(2)(初始学历)

网友投稿 241 2022-08-21

初始WebApi(2)(初始学历)

第一部分主要介绍了什么是WebApi,以及它是干什么的,怎么去调用后台数据等等。。。

今天就继续来学习一个新的知识。在上一篇文章中主要是介绍了一下如何根据根据Ajax去调用后台增删改查的数据。

那么,难道我们只能针对一个表的数据进行增删改查的数据吗?比如我们要进行一个登陆操作,上传照片等等。。。改怎么去实现某一特定的业务需求呢?

第一步:创建一个LoginViewModel类

第二步:创建User控制器

可以看到有一个[RoutePrefix]的标识,实际上之所以能够标识也是一个特性类的作用,并且我写了一个"api/User"的参数。

这个参数有啥用呢?

我在Login方法上也做了一个[Route]的标识,注意在请求时要与[Route]设置的名称为主,不能和方法名为主!!!

这两个组合在一起就成了一个完整的路由,在调用时,可以手动根据我们自己创建的路由规则去调用后台的数据。

上一篇文章中存在RESTful语义化风格的Get、post等必须要加方法名Get作为前缀,不然无法访问。。。

在这里通过自定义路由规则就可以解决这个“死板”的问题了。。

例如:

Html代码段部分:

这里我就只写ajax部分的代码了,其他Html标签就不多赘述了。。。

主要是看url请求的地址:/api/User/Login

当然了,它也可以作为一个对象传递给客户端。GetMessage()方法里面

在这里创建了一个学生类:

那怎么去理解IHttpActionResult呢?

IHttpActionResult:可以看到它是一个接口,接口代码:返回结果是HttpResponesMessage的任务。我可不可以认为这是后台数据在传递到客户端是,返回的状态码?一个状态码代表一个返回结果。

比如

return Ok()  状态码:200

NotFound() 状态码:404

return InternalServerError(new Exception("你错了")) 状态码:500

实际上这些方法都只能在IHttpActionResult中实现的。

想想接口中一般是有一个类,几个方法

如果需要验证的话可以去试试F12看看NetWork里面是否该方法对应了自己的状态码

正是该方法实现了该接口,所有才可以进行处理。

那么这里需要注意的是只有 Return Ok(),才能带数据到客户端。。。

User控制器:在这里的请求方式是Get,因为做了一个[HttpGet]的标识

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用C#实现全屏幕截图(用c语言编写的程序)
下一篇:写一个通用的List集合导出excel的通用方法(list导出文本)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~