首页 > 编程语言 >asp.net webapi 控制器中获取appsettings.json 中的数组对象

asp.net webapi 控制器中获取appsettings.json 中的数组对象

时间:2024-09-20 17:23:51浏览次数:9  
标签:webapi username AC asp get appsettings set public

appsettings.json 文件内容: 

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "MyConfigKey": "MyConfigValue",
  "AllowedHosts": "*",
  "UserInfo": [
    {
      "id": 0,
      "password": "123456",
      "realName": "Vben",
      "roles": [ "super" ],
      "username": "vben"
    },
    {
      "id": 1,
      "password": "123456",
      "realName": "Admin",
      "roles": [ "admin" ],
      "username": "admin"
    },
    {
      "id": 2,
      "password": "123456",
      "realName": "Jack",
      "roles": [ "user" ],
      "username": "jack"
    }
  ],
  "MOCK_CODES": [
    // super
    {
      "codes": [ "AC_100100", "AC_100110", "AC_100120", "AC_100010" ],
      "username": "vben"
    },
    {
      // admin
      "codes": [ "AC_100010", "AC_100020", "AC_100030" ],
      "username": "admin"
    },
    {
      // user
      "codes": [ "AC_1000001", "AC_1000002" ],
      "username": "jack"
    }
  ]
}

需要在控制器中获取 UserInfo 集合
1. 在Program.cs中添加 appsettings.json加载配置

builder.Configuration.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

2.在控制器中引入

 3,在控制器获取 UserInfo 集合内容

[HttpGet]
public List<LoginSuccess> GetConfiguration()
{
    return _configuration.GetSection("UserInfo").Get<List<LoginSuccess>>();
}

4, LoginSuccess.cs内容

public class LoginSuccess
{
    /// <summary>
    /// 用户id
    /// </summary>
    public int Id { get; set; }
    /// <summary>
    /// 密码
    /// </summary>
    public string Password { get; set; }
    /// <summary>
    /// 用户昵称
    /// </summary>
    public string RealName {  get; set; }
    /// <summary>
    /// 用户角色
    /// </summary>
    public List<string> Roles { get; set; }
    /// <summary>
    /// 用户名
    /// </summary>
    public string Username { get; set; }
}

5,发起请求

 



标签:webapi,username,AC,asp,get,appsettings,set,public
From: https://www.cnblogs.com/tlfe/p/18422903

相关文章

  • Metasploit Pro 4.22.4-2024091601 发布下载,新增功能概览
    MetasploitPro4.22.4-2024091601发布下载,新增功能概览MetasploitPro4.22.4-2024091601(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releaseSep16,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。原创作品,转载请保留出......
  • ASP所有功能函数名
    <%'所有功能函数名如下:'StrLength(str)取得字符串长度'CutStr(str,strlen)字符串长度切割'CheckIsEmpty(tstr)检测是否为空'isInteger(para)整数检验'CheckName(str)名字字符校验'CheckPassword(str)密码检验'CheckEmail(email)邮箱格式检验'Alert(msg,goUrl)......
  • asp sql封装成函数
    <%'定义数据库连接字符串DimconnectionStringconnectionString="Provider=sqloledb;DataSource=你的数据库服务器;InitialCatalog=你的数据库名;UserId=你的用户名;Password=你的密码;"'定义数据库连接和命令对象Dimconn,cmd,rs'定义函数来执行SQL查询并返回记录集F......
  • 如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFil
    前言:什么是ActionFilterAttribute?ActionFilterAttribute是一种作用于控制器Action方法的特性(Attribute),通过它,你可以在操作执行前后、异常处理时等不同的阶段插入自定义逻辑。比如在执行操作方法之前修改请求参数、记录日志、进行权限验证等操作,在执行操作方法之后发送邮件......
  • 基于MicroPython的Raspberry Pi Pico控制LED灯闪烁的设计方案
       以下是一个基于MicroPython的RaspberryPiPico控制LED灯闪烁的设计方案:一、硬件准备:1. RaspberryPiPico开发板2. 一个LED灯3. 一个220Ω4. 杜邦线若干。5.3.3V直流电源二、硬件连接:1.将Pico开发板的VSYS连接到3.3V直流电源的正极,开发板的GND引脚连......
  • dotnet framework 4.7.2 webapi 配置的swagger添加登录验证
    项目是.netframework4.7.2加webapi写的接口,使用Swashbuckle包添加的swagger支持 App_Start\SwaggerConfig.cs中加c.CustomAsset("index",thisAssembly,"WebApi.Jwt.SwaggerExtensions.index.html",false);1usingSystem.Web.Http;2usingWebActivato......
  • ASP.NET Core中如何对不同类型的用户进行区别限流
    老板提出了一个新需求,从某某天起,免费用户每天只能查询100次,收费用户100W次。这是一个限流问题,聪明的你也一定想到了如何去做:记录用户每一天的查询次数,然后根据当前用户的类型使用不同的数字做比较,超过指定的数字就返回错误。嗯,原理就是这么简单。不过真正写起来还要考虑更多问题......
  • 【转】[C#] WebAPI 防止并发调用二(更多)
    转自:阿里的通义灵码接上篇:https://www.cnblogs.com/z5337/p/18181574在C#中防止接口的并发访问(即确保同一时间内只有一个线程能够访问某个资源或方法),可以通过多种方式实现。这里列出一些常见的方法:1.使用 lock 语句lock 是一种常用的同步原语,用于保护对共享资源的访问......
  • DevExpress中文教程:如何将WinForms数据网格连接到ASP. NET Core WebAPI服务?
    日前DevExpress官方发布了DevExpressWinForms的后续版本——将.NET桌面客户端连接到安全后端WebAPI服务(EFCorewithOData),在本文中我们将进一步演示如何使用一个更简单的服务来设置DevExpressWinForms数据网格。P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms......
  • .NET Standard/.NET Framework/.NET Core/ASP.NET/ASP.NET Core/ASP.NET MVC/ADO.NET
    这是常识.......就算名字取得再混乱名字角色简介.NETStandard规范一种跨平台的API规范,它定义了一组共同的类库和框架特性.NETFramework框架 Windows 平台的框架.NETCore框架开源、跨平台的框架ASP.NET框架在.NETFramework上构建的,专注于传统的Web服务器端开发ASP.NET......