asp.net core appsettings.json 映射到实体类

appsettings.json文件

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "invoice": "server=LAPTOP-T09M58Q9\\SQLEXPRESS;database=invoice3;uid=sa;pwd=123456"
  },
  "JwtOptions": {  //这是要映射的配置
    "Secret": "123456123456123456",
    "Issuer": "http://localhost:5000",
    "Audience": "http://localhost:5000",
    "ExpiresIn": 43200
  }
}

需要映射的实体类

public  class JwtOptions
    {
        public string Secret  { get; set; } //机密
        public string Issuer  { get; set; } //发行人
        public string Audience { get; set; } //受众
        public int ExpiresIn { get; set; } //过期时间 秒
    }

StartUp中注入

...
        public void ConfigureServices(IServiceCollection services)
        {
           ...
           services.Configure<JwtOptions>(Configuration.GetSection("JwtOptions"));
        }
...

来个控制器试试

    //这是一个常见的api控制器
    [Route("api/[controller]")]  
    [ApiController]
    public class ValuesController : ControllerBase
    {
        IOptions<JwtOptions> _options;  //需要使用到这个接口!!!

        public ValuesController(IOptions<JwtOptions> options)
        {
            _options = options;
        }

        public ActionResult Index()
        {
            return Ok(_options);
        }
    }

更多的使用方法您可以看看官方网文档。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。