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的第一节就结束啦,如果你觉得有用,点个赞吧!

如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐];

如果您想转载本博客,请注明出处;

如果您对本文有意见或者建议,欢迎留言;

感谢您的阅读,请关注我的后续博客。

推荐这些文章:

Swagger使用 入门

 
 新建 webapi 类型项目 勾选 webapi mvc

 
 Install-Package Swagger.Net.UI
Install-Package Swashbuckle

 
 

 .net WebApi中使用swagger - YoungH - 博客园
https://www.cnblogs.com/youngh/p/5462537.html

 

...

ASP.NET MVC 路由问题

问题
想在路由中增加约束,实现效果如下: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.项目结构

 ...

Asp.Net Core WebApi入门

创建 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 MVC入门——day03

文章目录
Spring MVC4、RestFul和Controller1.控制器Controller2.实现Controller接口3.使用注解@Controller4.RequestMapping5.RestFul6.每个程序员都要知道的:小黄鸭调试法

Spring MVC

参考视频:B站狂神,写这个只是方便个人复习,怎么写是我自己的事,我能看懂就行,没要求非要让你看!白嫖还挑...

文章标题:C#/.NET之WebAPI(从入门到放弃一)
文章链接:https://www.dianjilingqu.com/4265.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>