When we integrate API’s into our angular application on our local development environment then we face some CORS policy issues. Due to this CORS Policy issue or we can also call it cross origin issue, we fail to implement such API’s. Please check the below-given screenshot for your reference -
As you can see in the above screenshot, we are trying to http GET request in above test URL https://reqbin.com/echo/get/json as follows.
Please read carefully and follow the proper steps that I have mentioned below to fix this CORS issue.
Firstly create a proxy.conf.json file in the src folder in your angular application.
Now we have to create the proxy configuration for API endpoints. So add your proxy configuration in your proxy.conf.json file as given in the below format-
Definition of parameters is given below-
"/echo" is your API Path.
"target" is your domain name where your API's are hosted.
"secure" is boolean type parameter, if your domain has SSL then you should use true else you should use false as value.
"changeOrigin" should be true if your backend is not hosted on localhost server.
“logLevel" is used to check whether proxy is working or not. Proxy log levels are info (the default), debug, warn, error, and silent.
Now you have to put proxy.conf.json path in proxyConfig option in angular.json file just like mentioned below.
Now finally we have to update our API path in our service file. Before Proxy we were using https://reqbin.com/echo/get/json URL. But now we do not want to write domain name here in URL because we have already configured domain name https://reqbin.com for the route of "/echo" in our proxy.conf.json file.
Finally, you have to restart your project with the ng server command and if we look at the Chrome Dev Tools network tab, we can see that the request came from http://localhost:4200/echo/get/json
And we will see that the API is working on local environment using Proxy config and CORS error has also gone.
Source: Medium - Azilen Technologies
The Tech Platform