Register Custom API Method
This is an example of how to register a custom JSON API method:
<cfscript> var APIUtility = getBean('settingsManager').getSite({siteid}).getAPI('json', 'v1'); APIUtility.registerMethod(methodName='applyProperty', method=applyProperty); public any function applyProperty() { // do something } </cfscript>
Register Custom API Linking Method
Within the API, all entities contain a "link" attribute that contains HREFs to access related entities. For example, a content entity would have a a value set to access the content children with entity.link.kids
. By default, Mura will read through the entity's properties and auto populate its links for you. However, sometimes you will want to add custom link logic.
<cfscript> var APIUtility=getBean('settingsManager').getSite({siteid}).getApi('json','v1'); APIUtility.registerLinkMethod(method=myCustomLinkMethod); public any function myCustomLinkMethod(entity,links){ if ( entity.getEntityName()=='targetEntity' ) { arguments.links['runs']='#getEndPoint()#?method=myCustomMethod&siteid=#arguments.entity.getValue('siteid')#'; } } </cfscript>
History
Feature added in version 6.2.