C#/.NET之WebAPI(从入门到放弃一)
1、怎么理解WebApi,他究竟是什么?
关于这一篇,视频学习可参照B站up主:全栈ACE,全栈ACE的个人空间,社区QQ群如下,有什么问题也可加群咨询。
首先使用Visual Studio创建一个新项目(我使用的是VS 2019,IDE去微软官网下载community版本即可,听别人说2022会更舒服,不过由于开发项目需要,我站是不想使用最新版,因为会有很多小bug,再此就不多说),下面进入正题:
打开VS:创建新项目:找到WebApi,创建:输入名称如WebapiDemo:下一步:目标框架选5.0或最新的6.0,下面的看着来就行,暂时先不用管
创建成功之后就会出现下面的解决方案目录,点击运行或者按下F5,启动项目
会出来一个控制台黑窗口,等他运行完毕,在默认浏览器就会打开swagger(这是一个测试端口),如下图所示
然后点WeatherForecast下的,点右边的Try it out,点Execute
2、WebApi的地址接口从何而来?
给一个地址返回一些数据,就是WebAPI、WeatherForecast在我们的项目中只是一个普通的类,真正的来源在Controllers文件夹下的WeatherForecastController的类中,其中new了WeatherForecast类,即数据来源是控制器中的Get方法,在其中随机生成了5组数据。
3、控制器的秘密和路由的配置
在Controllers文件夹下添加控制器,取名为TestController(Controller为固定的,前面的名称可以更改)
这个类继承了Controller,Controller继承了ControllerBase,所以这个类变成了控制器。
namespace WebapiDemo.Controllers { [ApiController] [Route("/[controller]/[action]")] //规则:路由里面有什么就必须显示什么 //[Route("[controller]")] //路由 http://根目录/api/Test,端口暴露在外边,api可以访问了 public class TestController : ControllerBase { [HttpGet] public string Get() //请求方法行为 { return "hello,world!"; } } }
4、通配化路由的配置
在每个方法的上面配置,如果路由相同,可以提取到类的上面。
5、接口传参实现
public string GetHello(string userName,string word) { return userName + "," + word; }
6、数据获取流程及204状态码问题
当返回给api的值是null的时候状态码为204;
以2开头的为正确访问,04代表没数据
301 - 资源(网页等)被永久转移到其它URL
以4开头的为请求资源不存在,如404
500 内部服务器错误
7、MVC中数据展示方式与WebApi的不同
区别:MVC中有View,而WebApi没有View,需要另外新建一个UI,所以实现了前后端分离,MVC的前后端是高度耦合的,可以在Views里面直接调用后端的包。WebApi需要前端给后端发送请求,
8、前端数据展示基础
Axios封装了Ajax,有了这个包之后,我们就可以通过WebApi通过get或者post请求到数据。
9、匿名函数、委托、委托传参
委托:把一个方法赋给一个变量,用一个变量去代替这个方法。
委托传参:把一个方法当成一个变量传给另一个方法。
var value = function(){ alert("Ace"); }
function mainFunc(func){
func();
}
mainFunc(); value();
10、Axios获取数据并展示
<script> axios.get("需要请求的地址").then(function(data)){ console.log(data); }) </script>
11、项目的发布与部署
首先发布项目,生成一个publish文件夹,将publish和UI都挂载到我们定义的端口之上,外部就可以访问了,具体可参考ACE的视频。
至此,Vue的第一节就结束啦,如果你觉得有用,点个赞吧!
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐];
如果您想转载本博客,请注明出处;
如果您对本文有意见或者建议,欢迎留言;
感谢您的阅读,请关注我的后续博客。
推荐这些文章:
新建 webapi 类型项目 勾选 webapi mvc
Install-Package Swagger.Net.UI
Install-Package Swashbuckle
.net WebApi中使用swagger - YoungH - 博客园
https://www.cnblogs.com/youngh/p/5462537.html
...
问题
想在路由中增加约束,实现效果如下:http://localhost/admin/1.html识别为http://localhost/admin/1应该怎么弄呀,不想在IIS中重写url,看了路由约束什么的,好像不能实现这个~
最佳回答
在默认路由前加入以下路由:
routes.MapRoute( null, "{controller}/{action}/{id}.html", new { controller = "Admin", action = "Index", id = UrlParameter.Opt...
ASP.NET Core 3.1 WebApi 系列【四】使用JWT认证
上一篇中我们学习了使用AuTofac实现依赖注入,这一篇我们继续学习在ASP.Net Core 3.1 中使用JWT认证
JWT介绍:
JSON Web Tokens:一种基于JSON的、用于在网络上声明某种主张的令牌(token)。
jwt验证流程:
1.首先,前端通过 Web 表单将自己的用户名和密码发送到后端的接口。这一过程一般是一个 HTTP POST 请求。建议的方式是通过 SSL 加密的传输(https 协议),从而避免敏感信息被嗅探。
2.后端核对用户名和密码成功后,将用户的 id 等其他信息作为 JWT Payload(有效载荷),将...
四:net core(.NET 6)使用Filter过滤器拦截webapi方法
Filter的基本用法
代码在最下方
使用filter过滤器,来实现拦截接口信息。咱们先新建一个项目,在原有的webapi上面,选择添加项目,添加一个类库项目:
我起个名字,就叫 Wsk.Core.Filter:
然后,我们把自带的控制器删除掉,咱们手撸一个。以下是要删掉的部分:
然后新建一个api控制器,例如叫 WSKController
然后,新建一个webapi方法,例如HelloWorld:
然后,...
Asp.NET Core基础 第二篇 Core WebAPI连接Sqlserver数据库及服务发布
第二篇 Asp.Net Core WebAPI 连接Sqlserver数据库及WebAPI服务发布
前言 Core API可以在业务与数据的模式下提供了一项安全、可靠的数据接口服务方式,我们借助于Core API可以为移动端、物联网终端、互联网终端等设备提供在线数据访问服务,本文重点介绍Core API项目创建、Sqlserver数据CRUD操作、服务发布(WinDows服务器和Linux服务器),侧重入门实操,大侠绕步!
学习目标:
&nbs...
为什么在ASP.NET MVC中,IOC容器不能注入到Controller类里面?
问题
配置了对象注入关系,而Controller里持有已配置关系的一个接口,为什么当Controller触发的时候,没法自动注入对象?
最佳回答
在mvc源码中看到defaultcontrollerfactory的方法getControllerInstance中使用
return (IController)Activator.CreateInstance(controllerType);
和Ioc没关系没法自动装配。
参考:http://www.cnblogs.com/zhuqil/archive/2010/07/27/yo...
十二、.net core(.NET 6)添加通用的访问webapi的方法(包括HttpClient和HttpWebRequest)
开发通用的访问webapi方法。
在common工具文件夹下,新建一个类库项目:Wsk.Core.WebHelper,并引用Package包项目,然后新建一个类HttpClientHelper,用于使用HttpClient方法进行访问webapi:
新建一个接口IHttpClientHelper,用于HttpClientHelper继承该接口。然后接口内新增一个返回泛型类型的通用的POST访问webapi的方法:
接着,在HttpClientHelper类里面,进行对该方法的实现:
说明:虽然使...
.net core 3.1仓储架构搭建和autofac注入框架使用入门
1.创建空项目 如test20220218
2.创建四个类库 .net core 3.1
名称分别为
WebApi.Core.IRepository
WebApi.Core.Repository
WebApi.Core.IService
WebApi.Core.Service
3.创建一个webapi .net core3.1项目
https://www.cnblogs.com/hlm750908/p/15907862.html
4.项目结构
...
创建 Web 项目
从“文件”菜单中选择“新建”>“项目” 。
选择“ASP.NET Core Web 应用程序”模板,再单击“下一步” 。
将项目命名为 App001,然后单击“创建”。
在“创建新的 ASP.NET Core Web 应用程序”对话框中,确认选择“.NET Core”和“ASP.NET Core 3.1” 。 选择“API”模板,然后单击“创建” 。
测试 API
按 Ctrl+F5 运行应用。 Visual Studio 启动浏览器并导航到 https://localhost:/WeatherForecast,其中 是随机选择的端口号。
...
文章目录
Spring MVC4、RestFul和Controller1.控制器Controller2.实现Controller接口3.使用注解@Controller4.RequestMapping5.RestFul6.每个程序员都要知道的:小黄鸭调试法
Spring MVC
参考视频:B站狂神,写这个只是方便个人复习,怎么写是我自己的事,我能看懂就行,没要求非要让你看!白嫖还挑...
文章链接:https://www.dianjilingqu.com/4265.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。