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(Configuration.GetSection("JwtOptions"));
        }
...

来个控制器试试

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

        public ValuesController(IOptions options)
        {
            _options = options;
        }

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

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

你可能感兴趣的:(asp.net core appsettings.json 映射到实体类)