How to resolve CORS errors by using Angular Proxy?
azilen logo
 Software Development
  by Rajnish Suthar  November 19, 2021

How to resolve CORS errors by using Angular Proxy?

Feature Image

First of all, there is one very important question for all that what is proxy and why should we use this? Also, one more question would be how can we implement proxy in our angular app? So here, I will describe all the details in this article and will also show you simple and easy ways to overcome this CORS issue using the proxy configuration in our angular application with an example.

Problem Statement

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 –

Problem Statement

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.

Step 1

Firstly create a proxy.conf.json file in the src folder in your angular application.

 

create a proxy.conf.json file in srcfolder

Step 2

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-

proxy configuration in your proxy.conf.jsonfile

 

Definition of parameters is given below-

  1. "/echo” is your API Path.
  2. "target" is your domain name where your API’s are hosted.
  3. "secure" is boolean type parameter, if your domain has SSL then you should use true else you should use false as value.
  4. "changeOrigin" should be true if your backend is not hosted on localhost server.
  5. logLevel" is used to check whether proxy is working or not. Proxy log levels are info (the default), debug, warn, error, and silent.

Step 3

Now you have to put proxy.conf.json path in proxyConfig option in angular.json file just like mentioned below.

put proxy.conf.json path in proxyConfig

Step4

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.

update our API path in our service file

Step5

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

restart your project with ng server command

And we will see that the API is working on local environment using Proxy config and CORS error has also gone.

Note: This is just a fix for development. If you have CORS issue in production, the problem likely has to do with the server configuration!

Come Partner With Azilen

We serve consultation from small and medium start-ups to veteran product owners with our Pro-360 Approach, which is adapted to your product and business!