View source for REST services and MDriven Turnkey From MDrivenWiki ← REST services and MDriven Turnkey REST services and MDriven TurnkeyYou do not have permission to edit this page, for the following reason: The action you have requested is limited to users in the group: Users. You can view and copy the source of this page. REST services are services that are executed by connecting to an URL that defines operation and parameters then it returns an answer – not seldom as JSon objects. == Calling existing REST services == MDriven supports a couple of EAL operators to manage REST services. All operators reside on the selfVM variable – available only in the ViewModel context. selfVM.RestGet(targeturl,user,pwd,optionalnestingwithheaders) selfVM.RestPost(targeturl,user,pwd,optionalnestingwithheadersAndUploadValues) selfVM.RestDownload(targeturl,user,pwd,optionalnestingwithheaders) There is a also a new helper operator on selfVM: selfVM.JSonToObjects( «<Type>» , JSonDataInStringFormat) The selfVM.JSonToObjects creates objects of class Type and matches attributes and association from the json data – and it can create object trees (unclosed graphs) by following names on associations. These few additions enables us to consume Rest services that others expose. == Exposing REST services on your data == And when it comes to exposing ourselves to others – Turnkey has two new MVC verbs: <code>AppUrl/TurnkeyRest/Get?command=vmname&id=rootobjref</code> <code>AppUrl/TurnkeyRest/Post?command=vmname&id=rootobjref</code> What they do is that they look for ViewModel named as the command-parameter, if one is found the [[Access groups|accessgroups]] are checked to see if access is allowed. If it is, additional parameters sent in the url are matched against ViewModel variables – and given corresponding values. Then any actions present in the root level of the ViewModel are executed. And then the Get verb packs the viewmodel content as json in the response. The Post verb looks in the request values after names that match the ViewModel root – if match is found the corresponding value is applied. Then changes – if any – are committed to db. The last thing for post is that it packs the complete ViewModel as json in the response. If there is an error – a string “error: <message>” is returned. You must set RestAllowed on ViewModels you want to allow Rest access to. == Watch the Video == <html> <div class="video"> <div class="video__wrapper"> <iframe src="https://www.youtube.com/embed/rv31ziYXWME?rel=0&autoplay=0" frameborder="0" allowfullscreen></iframe> </div> <div class="video__navigation"> </div> </div> </html> Return to REST services and MDriven Turnkey. Retrieved from "https://wiki.mdriven.net/index.php/REST_services_and_MDriven_Turnkey"