It is usually easier for me to decide how the front end should behave, and then determine how to get the appropriate data. So, in your example, services
would be a module with some functionality, and then service-a
would be the slug.
However, if you only care about the URL looking the same you can use pushState to change the URL in the browser without loading a new page. The “link” property in the posts API response could be parsed to get you the full path. As long as you get a unique identifier (e.g. slug) at the end, this would essentially make the middle of the path meaningless, but it could still be populated immediately after loading the page.