Artikel ini bakal ngejelasin pentingnya file AppSettings.json di ASP.NET Core, lengkap sama contohnya.
Sumber Konfigurasi di ASP.NET Core
Kalo lo pernah ngoding pake ASP.NET versi lama, pasti tau dong sama file web.config yang biasa dipake buat nyimpen settingan kayak connection string database, API key, detail logging, sama variabel global.
Nah, di ASP.NET Core, file web.config udah nggak ada lagi. Sebagai gantinya, ada berbagai sumber konfigurasi yang lebih fleksibel buat nge-manage environment. Beberapa sumber konfigurasi ini adalah:
- appsettings.json: File JSON buat nyimpen settingan aplikasi secara umum.
- appsettings.{Environment}.json: File JSON spesifik berdasarkan environment (contoh: Development, Production, Staging) yang override settingan di file utama.
- Environment Variables: Nilai yang didefinisiin di environment tempat aplikasi running, cocok buat deployment di container.
- User Secrets: Buat nyimpen data sensitif (contoh: API key, password) selama development tanpa masuk ke source code.
- Command-line Arguments: Parameter yang dikasih pas aplikasi di-run, dan bisa override semua settingan lain.
Apa Itu AppSettings.json?
File appsettings.json adalah file JSON di ASP.NET Core buat nyimpen settingan aplikasi yang gampang diubah tanpa perlu recompile. Settingan ini bisa mencakup:
- Connection string database
- Konfigurasi logging
- API key
- Settingan autentikasi
- URL API eksternal
- Variabel global aplikasi
ASP.NET Core juga support file konfigurasi spesifik environment. Contohnya, file appsettings.Development.json bisa override settingan di appsettings.json pas aplikasi lagi running di environment Development.
Struktur Dasar appsettings.json
Ini contoh isi default file appsettings.json yang biasanya otomatis dibuat kalo lo bikin project ASP.NET Core pake template di Visual Studio:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"MyCustomKey": "MyCustomKey Value coming from appsettings.json"
}
Penjelasan:
- Logging: Buat konfigurasi log aplikasi.
- LogLevel: Nentuin level log minimum.
- Default: Log level default (contoh: Information).
- Microsoft.AspNetCore: Level log khusus buat komponen Microsoft.AspNetCore.
- LogLevel: Nentuin level log minimum.
- AllowedHosts: Nentuin host mana aja yang diizinin buat akses aplikasi. Simbol
*
artinya semua host diizinin. - MyCustomKey: Contoh key custom yang kita bikin sendiri.
Cara Akses Konfigurasi di AppSettings.json
Buat ngakses setting di file appsettings.json, kita bisa pake IConfiguration atau ConfigurationManager. Contohnya, gini cara ngambil nilai MyCustomKey di Main method kelas Program:
string myCustomKeyValue = builder.Configuration.GetValue<string>("MyCustomKey", "DefaultValue");
Urutan Eksekusi Konfigurasi di ASP.NET Core
Kalo ada key yang sama di berbagai sumber konfigurasi, yang terakhir dibaca bakal override yang sebelumnya. Urutan default:
- appsettings.json
- appsettings.{Environment}.json
- User Secrets
- Environment Variables
- Command-line Arguments
Contoh Real-Time Penggunaan AppSettings.json
Connection String Database
{
"ConnectionStrings": {
"DefaultConnection": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
}
}
Konfigurasi Logging
{
"Logging": {
"LogLevel": {
"Default": "Warning",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}
API Eksternal
{
"ExternalService": {
"BaseUrl": "https://api.example.com/",
"ApiKey": "Your-Api-Key-Here"
}
}
Settingan Custom Aplikasi
{
"ApplicationSettings": {
"PageSize": 20,
"SupportEmail": "[email protected]"
}
}
Autentikasi
{
"Authentication": {
"Jwt": {
"Key": "Your-Secret-Key",
"Issuer": "YourIssuer",
"Audience": "YourAudience"
}
}
}
Semoga artikel ini ngebantu lo buat ngerti pentingnya file appsettings.json!
Komentar
Posting Komentar