本文章是我听B站杨中科的所做的笔记
杨中科B站视频链接:.NET 6教程,.Net Core 2022视频教程,杨中科主讲_哔哩哔哩_bilibili
什么是ASP.NET Core
1、ASP.NET Core是.NET中做Web开发的框架
2、ASP.NET Core MVC
3、ASP.NET CoreWeb API:前后端分离、多端开发
4、ASP.NET Core MVC其实包含Web API
5、侧重Web API 6、需要你有HTML、JavaScript的基础,需要了解Http协议
ASP.NET Core MVC入门
1、VS中创建MVC项目。
2、.NET 6中ASP.NET Core项目结构和旧版本不一样,默认Minimal API,没有Starttup,仍然支持旧版写法
ASP.NET Core MVC概念
模型(Model)、视图(View)和控制器(Constroller) 老师是控制器,成绩单是模型,你爸是视图
项目结构
1、控制器由Controller类实现,视图一般是扩展名为cshtml的文件,而模型则是只有属性的普通C#类
2、控制器类的名称一般以Controller结尾,并且被放到Controllers文件夹下。控制器的名称名字为控制器的类名去掉Controller
3、视图一般被放到Views文件夹下的控制器名字的文件夹下
4、视图=》浏览器端提交的请求=》模型=》控制器=》处理=》模型=》视图。渲染:Render
MVC项目
//模型
public record Person(string Name, bool IsVIP, DateTime CreatedTime);
//控制器
public class TestController : Controller
{
public IActionResult Demo1()
{
var model = new Person("Zack", true, new DateTime(1999, 9, 9));
return View(model);
}
}
//视图
@model MVC项目1.Models.Person
<div>姓名:@Model.Name</div>
<div>@(Model.IsVIP?"VIP":"普通会员")</div>
<div>注册时间:@Model.CreatedTime</div>
ASP.NET Core WebAPI入门
Web API
1、什么是结构化的HTTP接口。Json
2、Web API项目的搭建
3、Web API项目没有Views文件夹
4、运行项目,解读代码结构 5、【启用OpenAPI】=>Swagger,在界面上进行接口的测试
其他谓词
1、为控制器类增加增加一个标注了[HttpPost]的操作方法
2、把用户提交的内容保存到文本文件中,方法的返回值为保存的文件名
[HttpPost]
public string SaveNote(SaveNoteRequest req)
{
string filename = $"{req.Title}.txt";
System.IO.File.WriteAllText(filename, req.Content);
return filename;
}
什么是Rest
RPC
1、Web API两种风格:面向过程(RPC)、面向REST(REST)
2、RPC:“控制器/操作方法"的形式把服务器端的代码当成方法去调用。把HTTP当成传输数据的通道,不关心HTTP谓词。通过QueryString、请求报文体给服务器传递数据。状态码。比如:/Persons/GetAll、/Persons/GetById?id=8、/Persons/Update、/Persons/DeleteById/8
REST
REST:按照HTTP的定义来使用HTTP协议:
1、URL用于资源的定位:/user/888、/user/888/ordes;
2、HTTP谓词: