.net5 core webapi项目实战之五:管理员获取用户列表编码实现
2021-01-29 04:15
标签:user 很多 rac 实战 family ret bsp 带来 col 本篇实现F1功能(见红色部分) 第1步: 要以JSON格式返回用户列表信息给客户端,需要先将MySqlUserDao中的List 调用的时候这样写就可以了: string json = Utility.ListToJson(userList); 但c#3.0带来的新特性 "扩展方法" 能更优雅的处理这个问题,在Models文件夹下新建一个UserExtension.cs的静态类,代码如下: 调用的时候这样写就可以了: string json = userList.ToJson(); 第2步: 打开UsersController.cs,在ManageUsers()函数中添加获取用户列表的函数,这里有2种编码方式: 方式一:传统方式,代码如下: 这种方式的特点是,使用MySqlUserDao对象,需要先new一个MySqlUserDao对象后再使用。 在.net core webapi中,我们可以利用框架的依赖注入功能,将MySqlUserDao对象的创建交给框架去完成, 我们只需要将对象间的关系在Startup.cs的ConfigureServices( )方法中注册一下就可以了, 这样需要用MySqlUserDao对象的时候,框架会自动帮我们构造出来,框架负责对象的创建和销毁,同时也实现了解耦,步骤如下: 1 . 先在Startup.cs的ConfigureServices( )方法中将数据库操作注册为服务,代码如下: 2 . 在UsersController.cs中编码如下: 上面的代码中,框架会调用UsersController 的构造函数将对象注入进来赋值给成员变量_userDao, 在ManageUsers()中使用_userDao就可以了,已经看不到New MySqlUserDao( )这样的代码了。 和传统方式相比较,这样写似乎更复杂了,但是试想一下, 我们的系统中很多地方都用到了IUserDao userDao = new MySqlUserDao();这样的代码, 如果某天要使用OracleUserDao( )去替换MySqlUserDao( )来操作数据库,程序修改起来是难以想象的, 但是用依赖注入的方式,只要在Startup.cs的ConfigureServices( )方法中将 services.AddScoped .net5 core webapi项目实战之五:管理员获取用户列表编码实现 标签:user 很多 rac 实战 family ret bsp 带来 col 原文地址:https://www.cnblogs.com/pfm33/p/14330759.html
功能序号
HTTP动词(HTTP verbs)
API
描述
F1
GET
/api/users
管理员获取用户列表
F2
POST
/api/users
管理员添加用户
F3
PATCH
/api/users/{id}/role
管理员修改用户角色
F4
PATCH
/api/users/{id}/state
管理员锁定/解锁用户
F5
GET
/api/users/{id}
用户获取自己的信息
F6
PUT
/api/users/{id}
用户更新自己的信息
F7
PATCH
/api/users/{id}
/
password用户修改密码
1 public static string ListToJson(List
1 public static class UserExtension
2 {
3 public static string ToJson(this List
1 [HttpGet]
2 public ContentResult ManageUsers()
3 {
4 IUserDao userDao = new MySqlUserDao();
5 List
1 public void ConfigureServices(IServiceCollection services)
2 {
3 services.AddControllers();
4
5 services.AddScoped
1 [Route("api/[controller]")]
2 [ApiController]
3 public class UsersController : ControllerBase
4 {
5 public IUserDao _userDao;
6 public UsersController(IUserDao userDao)
7 {
8 _userDao = userDao;
9 }
10
11
12 [HttpGet]
13 public ContentResult ManageUsers()
14 {
15 List
文章标题:.net5 core webapi项目实战之五:管理员获取用户列表编码实现
文章链接:http://soscw.com/index.php/essay/48523.html