Search code examples
javascriptsymfonyweb-servicesfullcalendarfullcalendar-4

Symfony to "proxy" a webservice?


I'm struggling a bit with the following: I have a symfony web-application which calls a webservice (hosted on another server). The webservice returns a JSON object with calendar data, and in my symfony controller this data is saved in an array. For the visualisation of the calendar towards the users I use https://fullcalendar.io/, which needs to be "feeded" the data from the webservice. This works fine when the browser of the users connects directly towards the webservice to "read" the JSON stream with pretty standard Javascript, but the aim is that there will be no direct connections to the werbservice, only to the symfony webserver.

So I want the connection to go as followed:

User-browser -> Symfony webserver ->(JSON) -> Webservices -> SQL server 

But currently the User-browser has also still "one leg to the webservices" to consult the JSON feed with calendar items.

I think I'm missing something which is in plain sight, but how can I avoid that the user calls directly the Webservice?

  • I could make a (similar) webservice that gives a JSON feed on the symfony apllication (and so actually make my webserver act in a certain way as a proxy for the webservice server).
  • I could try to work with a global variable (https://fullcalendar.io/docs/events-array) that contains the array with the calendar items (could become messy when multiple users work simultaneously on it).

But these don't seem correct approaches to me...

Am I missing something obvious?


Solution

  • The symfony documentation link is, in my mind, the best answer to be given to this question -> symfony.com/doc/current/frontend/encore/server-data.html