Recently I’ve been working on a .NET console app that occasionally has to call two RESTful APIs. Per best practices, I did not want to hardcode the base URLs for these APIs in code because then I would have to redeploy the application if they were to change. Using App.config is a good solution for this, so here’s how to store the URL for an API endpoint in App.config.
First of all, you could store these URLs either in the
<appSettings> section or the
<connectionStrings> section of App.config, but I prefer to only use the
<connectionStrings> section for database connection strings.
If you feel the same way, go to your App.config and check if you have an
<appSettings> section within
<configuration>. If you don’t, create it. Then for each URL you’d like to store, create an entry with the following attributes:
<add key="[unique endpoint name]" value="[endpoint URL]" />. Here’s an example:
<?xml version="1.0" encoding="utf-8"?> ... <configuration> <appSettings> <add key="nbaStatsUrl" value="https://www.fakenbastats.com/api/v1/currentseason/" /> <add key="nflStatsUrl" value="https://www.handeggstats.com/api/v2/season?startYear=" /> </appSettings> </configuration>
Once you’ve added entries to the
<appSettings> section, simply use the .NET
ConfigurationManager to access their values in code by their key:
using System.Configuration; ... string nbaStatsUrl = ConfigurationManager.AppSettings["nbaStatsUrl"]; string nflStatsUrl = ConfigurationManager.AppSettings["nflStatsUrl"];
Super simple, and no third-party libraries required.