From d552bee823a7f9788acd467a1e162a37756370fc Mon Sep 17 00:00:00 2001 From: xxx Date: Sun, 2 Jun 2024 13:17:36 +0800 Subject: [PATCH] bj --- .../20240527-\350\267\257\347\224\261.md" | 4 ++ .../20240528-\350\267\257\347\224\261.md" | 34 +++++++++++++++++ ...71\347\233\256\350\256\276\350\256\241.md" | 38 +++++++++++++++++++ ...23\345\202\250\347\263\273\347\273\237.md" | 17 +++++++++ 4 files changed, 93 insertions(+) create mode 100644 "\347\274\252\346\242\223\344\272\250/20240527-\350\267\257\347\224\261.md" create mode 100644 "\347\274\252\346\242\223\344\272\250/20240528-\350\267\257\347\224\261.md" create mode 100644 "\347\274\252\346\242\223\344\272\250/20240530-\351\241\271\347\233\256\350\256\276\350\256\241.md" create mode 100644 "\347\274\252\346\242\223\344\272\250/20240531-\344\273\223\345\202\250\347\263\273\347\273\237.md" diff --git "a/\347\274\252\346\242\223\344\272\250/20240527-\350\267\257\347\224\261.md" "b/\347\274\252\346\242\223\344\272\250/20240527-\350\267\257\347\224\261.md" new file mode 100644 index 0000000..1b6bf2a --- /dev/null +++ "b/\347\274\252\346\242\223\344\272\250/20240527-\350\267\257\347\224\261.md" @@ -0,0 +1,4 @@ +## 关键代码 +[ApiController] +[Route("/api/[controller]")] +[HttpGet]...... diff --git "a/\347\274\252\346\242\223\344\272\250/20240528-\350\267\257\347\224\261.md" "b/\347\274\252\346\242\223\344\272\250/20240528-\350\267\257\347\224\261.md" new file mode 100644 index 0000000..12750dc --- /dev/null +++ "b/\347\274\252\346\242\223\344\272\250/20240528-\350\267\257\347\224\261.md" @@ -0,0 +1,34 @@ +### 关于匹配到函数的处理 +- 入参:函数的参数,模型绑定 +- 返回值:返回的响应 + + 1.状态码 + + 2.带对象的状态码 + + 3.重定向 + + 4.内容{ + Code:1000, + data:[], + msg:'请求成功' + } +### 如果不符合restfull风格的路由的话,在action上单独写路由 +- [HttpGet("/api/...")] + +### action过滤器 +```js +public Tack OnResultExecutionAsync(ResultExecutingContext content,ResultExeationDelegate next){ + //判断返回结果是否是内容 + if(context.Result is ObjectRsult) + { + var ObjectRsult=(ObjectResult)Context.Result; + context.Result=new ApiResult({ + Code=1000, + msg="请求成功", + Data=ObjectResult.vaule + }); + }else{ + context.Result=new ObjectRsult(new ApiResult{ + Code=1001 + }); + await next(); + } +} +``` \ No newline at end of file diff --git "a/\347\274\252\346\242\223\344\272\250/20240530-\351\241\271\347\233\256\350\256\276\350\256\241.md" "b/\347\274\252\346\242\223\344\272\250/20240530-\351\241\271\347\233\256\350\256\276\350\256\241.md" new file mode 100644 index 0000000..e1bf0ac --- /dev/null +++ "b/\347\274\252\346\242\223\344\272\250/20240530-\351\241\271\347\233\256\350\256\276\350\256\241.md" @@ -0,0 +1,38 @@ +## 关于项目设计 +### 一.主体结构 + - Restfull风格的webapi + - Asp.net core 8.0 + - 采用传统控制器模式 + +### 二.模型设计 +- 作者 Authors + - 姓名 AthorName + - 性别 Gender + - 出生年月 Birthday +- 图书 BookName + - 出版社 Publiser + - 作者 AuthorId + - 价格 Price + +### 三.内存型数据-自定义的一个集合类 + +### 四.创储系统-准备用来接入数据库的一套接口 +- 通用型仓储接口 +- 个性化的仓储接口 + - 作者的 增删改查 + - 图书的 增删改查 + +### 利用第一步主体结构,具体实现Restfull风格关于作者,关于图书的CRUD +- 作者 + - 获取作者列表 Get /api/authors + - 获取指定作者 Get /api/authors/ + - 新增作者列表 post /api/authors + - 修改作者列表 put /api/authors/ + - 删除作者列表 deete /api/authors/ + +- 图书 + - 获取书本列表 Get /api/authors + - 获取指定书本 Get /api/authors/ + - 新增书本列表 post /api/authors + - 修改书本列表 put /api/authors/ + - 删除书本列表 deete /api/authors/ \ No newline at end of file diff --git "a/\347\274\252\346\242\223\344\272\250/20240531-\344\273\223\345\202\250\347\263\273\347\273\237.md" "b/\347\274\252\346\242\223\344\272\250/20240531-\344\273\223\345\202\250\347\263\273\347\273\237.md" new file mode 100644 index 0000000..d4ea929 --- /dev/null +++ "b/\347\274\252\346\242\223\344\272\250/20240531-\344\273\223\345\202\250\347\263\273\347\273\237.md" @@ -0,0 +1,17 @@ +### 创储系统-准备用来接入数据库的一套接口 +- 通用型仓储接口 +- 个性化的仓储接口 + - 作者的 增删改查 + - 图书的 增删改查 + + +```js +namespace BookStore.Api; +public interface IAuthorRepository +{ + //通过ID获取作者的方法 + //获取所有作者的方法 + //函数三要素:函数名称,函数参数,函数返回值 + Authors GetAuthorById (GuId id); +} +``` -- Gitee