Expand my Community achievements bar.

SOLVED

Can we change the default Assets HTTP API Path /api/assets ?

Avatar

Level 4

As listed in the docs https://docs.adobe.com/content/help/en/experience-manager-65/assets/extending/mac-api-assets.html to access assets using API..

  1. https://[hostname]:[port]/api.json
  2. https://[hostname]:[server]/api/assets.json

is there a way to change the path of the default "/api/...." to be something else?

 

Our implementation need to call (external) services that are mapped as https://<server>/api/services  (where <server> is an aem site). 

and when internally calling assets' api's (to access content fragments) in code, we're having issues since they the external and internal api path. 

 

Couple solutions we can.. but can avoid if we can change the path. 

1. Create a servlet to catch `/api/assets` calls and process

2. Add dispatcher rule 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

I don't think so there is any OOTB option to modify the path, but you should be able to map custom URL through Apache/Dispatcher.

Refer the solution explained in the following URL - https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/binding-a-servlet-to-a-cus...

 

Regards

Albin I

www.albinsblog.com

View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor

I don't think so there is any OOTB option to modify the path, but you should be able to map custom URL through Apache/Dispatcher.

Refer the solution explained in the following URL - https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/binding-a-servlet-to-a-cus...

 

Regards

Albin I

www.albinsblog.com

Avatar

Level 9

Have a different URI and handle them at Apache/Dispatcher to PT (to maintain the same URL) or redirect to /api/*. This would be the easy one for maintenance.

 

To use PT and retain the original URI/URL:

RewriteRule ^your/custom/uri/$ /api/your/path.json [PT]

 

The above would internally redirect the request and the user would not see the redirection on the broswr.

 

You can always redirect the user. Let me know if you want the example.