In this tutorial, we are going to learn how to enable the cross-origin resources sharing CORS in a Grail Application.
Introduction:
Cross-origin resource sharing is the way to trust between the two web services or applications. So if the two web services don't satisfy then a CORS issue may arise.
Cors is a mechanism for the web application that controls listening to certain request from other web applications which is not hosted on the same server. It will not grant access to the content from other applications. So, in order to interact between two different web applications, we need to enable the Cors for that particular app.
Enable CORS in Grails Application:
We can enable cors in application.yml as below
grails:
cors:
enabled: true
The above configuration enables the cors for all the origins i.e all applications can interact with our application.
Enable Cors for a specific domain:
application.yml
grails:
cors:
enabled: true
allowedOrigins:
- https://example.com
This will allow the request only for the domain example.com
Enable Cors for specific requests or URLs:
application.yml
grails:
cors:
enabled: true
allowedHeaders:
- Content-Type
mappings:
'[/api/**]':
allowedOrigins:
- https://example.com
This will allow all the requests from URLs that start with /api for example.com domain. Note that the mapping key must be made with bracket notation i.e [/api/**]
For more detail please visit Grails CORS.