diff --git "a/\350\214\203\344\275\263\346\254\243/20241120 \351\203\250\347\275\262.md" "b/\350\214\203\344\275\263\346\254\243/20241120 \351\203\250\347\275\262.md" new file mode 100644 index 0000000000000000000000000000000000000000..61b7b12f9f2513ef0597a617e3e6b3495ab1db2a --- /dev/null +++ "b/\350\214\203\344\275\263\346\254\243/20241120 \351\203\250\347\275\262.md" @@ -0,0 +1,50 @@ +# 笔记 +## Debian部署MVC(Asp.Net Core)的先决条件 +1. 在服务器上安装运行环境或者调试环境(必要条件) + 1. 安装SDK 包管理器 + - 下载文件 wget curl + - 注册文件 + - 删除刚才注册的文件 rm(可有可不有) + - 更新软件源 apt update + - 安装SDK apt install dotnet-sdk-8.0 + 2. 在Linux上安装软件或者应用,常用方式如下: + - 包管理器(相对于用户来说最简单) + - 使用二进制文件安装 (次简单) + - 编译安装 (最难) +2. 将打包好的程序上传到指定目录 + 1. 创建模板(模型-视图-控制器) + 2. 写程序(网页) + 3. 打包上传,以下两种方式: + 1) 使用scp工具 scp -r ./* root@XXXX.XXX:var/www/XXXX.XXX + - 打包 dotnet publish + - 测试是否完成(在工作中一般建议测试) + - 在终端dotnet .\bin\Release\net8.0\publish\XXX.dll + - 在资源管理器中打开PowerShell窗口跑文件 + - 上传 + 2) xftp + 4. 跑一下上面上传的程序,测试是否成功:dotnet XXX.lcann.cn/XXX.dll(如果成功,则在后续工作不能停止运行) + 控制器(名称以Controller结尾) +一般建议使用Nginx做反向代理 + +看一下上面的程序是否在网站当中:curl http://localhost:5000; +为该网站配置文件(反向代理) +切换目录:cd /etc/nginx/conf.d +反向代理配置文件: +server{ + listen 80; + server_name XXX.lcann.cn; + location / { + proxy_pass http:localhost:5000; + } +} +检查是否有语法错误:nginx -t +重新加载配置:nginx -s reload + ### 控制器 ++ 所有的控制器都在这个 **Controllers 文件夹**里 + ++ 要调用**除了默认的控制器**的不同控制器,要写控制器名称(不包括Controller) + ++ **;**与 **{}**等价 + ++ 命名空间相同,底下的类型名称不能相同,所以命名空间的 **.Controllers**可以随便写 + diff --git "a/\350\214\203\344\275\263\346\254\243/20241122\344\274\240\345\217\202.md" "b/\350\214\203\344\275\263\346\254\243/20241122\344\274\240\345\217\202.md" new file mode 100644 index 0000000000000000000000000000000000000000..75a60fd7673622d896eba4f1b198ba18d9459d3c --- /dev/null +++ "b/\350\214\203\344\275\263\346\254\243/20241122\344\274\240\345\217\202.md" @@ -0,0 +1,37 @@ +# 笔记 +## 问号传参(?) +命名实参是指在指定实参的值时,可以同时指定相应的参数名称。编译器将判断参数的名称是否正确,并将指定的值赋给这个参数。命名参数在各个实参之前加上它们的参数名称以及一个冒号。 +``` +启动项目的网址上加正斜杠(/)加上控制器的文件名(不加Controller),进入控制器对应的网址 + +在网址后面(或者加/方法名从)加?后面输入对应的命名和赋值 +``` +### 代码举例: +![](./代码举例.png) +## id传参 +:声明一个id的变量在传入的时候url拦里输入传参给他 +``` +启动项目的网址上加正斜杠(/)加上控制器的文件名(不加Controller),进入控制器对应的网址 + +在网址后面加上对应的方法名再加正斜杠(/)输入id的值 +``` +### 代码举例: +![](./代码举例2.png) +## RESTful API 传参 +REST 是 Representational State Transfer 的缩写,如果一个架构符合 REST 原则,就称它为 RESTful 架 +RESTful 架构可以充分的利用 HTTP 协议的各种功能,是 HTTP 协议的最佳实践 +RESTful API 是一种软件架构风格、设计风格,可以让软件更加清晰,更简洁,更有层次,可维护性更好 +``` +相关信息的网站:https://restfulapi.cn/ + +MVC的RESTful的风格信息:https://www.cnblogs.com/onlyzuo/p/13936929.html + +[HttpGet("/[controller]/{id?}")] :指定路由 + +HTTP方法: +``` +>客户端的每一次请求,服务器都必须给出回应。回应包括 HTTP 状态码和数据两部分。 +>客户端请求时,要明确告诉服务器,接受 JSON 格式,请求的 HTTP 头的 ACCEPT 属性?>要设成 application/json +>服务端返回的数据,不应该是纯文本,而应该是一个 JSON 对象。服务器回应的 HTTP 头的 Content-Type 属>性要设为 application/json +### 代码举例: +![](./代码举例3.png) \ No newline at end of file