Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

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

surenk
Level 3
Level 3

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
Albin_Issac
Correct answer by
Community Advisor
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
Albin_Issac
Correct answer by
Community Advisor
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

Singaiah_Chintalapudi
Community Advisor
Community Advisor

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.