Hi folks
Following the cookbook instructions, I created a JSON representation for my /home
site. Consuming the JSON data works perfectly by fetching from the /home.json
endpoint.
However, I would rather prefer to communicate an endpoint such as https://myserver.com/api/
to others instead of https://myserver.com/home.json
. Is there any way to route /api/
to /home.json
? I tried with routes in config.php but without success.
Thanks for any hints.
Stefan
The api
endpoint is reserved by the system. You should be able to use a route named differently that returns home.json
.
Thanks @pixelijn I just tried it, but without success. The following route returns the html representation of /home
instead of its counterpart /home.json
. Any ideas? Or maybe a bug?
return [
'routes' => [
[
'pattern' => 'apitest',
'action' => function () {
return page('home.json');
}
]
]
home.json
is not a page. Not quite sure how to go about this, let me think. But you might as well return your json directly from the route instead of returning it from a route via a content representation.
Yes, directly within routes works. I thought there is an easier way though 
There is actually another way:
[
'pattern' => 'apitest',
'action' => function () {
return page('home')->render([], 'json');
}
],
2 Likes
Wow, this works perfect. Thanks @texnixe 