From a0451d744248e1297002eefb47752d18c84d4817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E4=BD=B3=E6=AC=A3?= <14091193+fanjxin@user.noreply.gitee.com> Date: Fri, 22 Nov 2024 10:48:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241120 \351\203\250\347\275\262.md" | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 "\350\214\203\344\275\263\346\254\243/20241120 \351\203\250\347\275\262.md" 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 0000000..61b7b12 --- /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**可以随便写 + -- Gitee From 61dd958ae7ebeb1f2c3a0ec5be8c2873a4d0f4b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E4=BD=B3=E6=AC=A3?= <14091193+fanjxin@user.noreply.gitee.com> Date: Sun, 24 Nov 2024 20:44:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?11.22=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20241122\344\274\240\345\217\202.md" | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 "\350\214\203\344\275\263\346\254\243/20241122\344\274\240\345\217\202.md" 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 0000000..75a60fd --- /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 -- Gitee