Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

RESTfulServer API how to expose a function


Reply


4 Posts   1457 Views

Avatar
keeny

Community Member, 48 Posts

26 November 2010 at 7:28pm

Edited: 26/11/2010 7:33pm

I have a class that I want to access over REST:

<?php

class MyClass extends DataObject {
   static $db = array(
      'Title'=>'Text',
      'Published'=>'Boolean'
   );
   
   static $api_access = true;
   
   function canEdit() { return true; }
   function canView() { return true; }
   function canCreate() { return true; }
   
   function foo() {
      return 'foo';
   }
}

So I can do this totally fine:

http://localhost/api/v1/MyClass/1/

But how do I access a function over REST? I want to be able to access:

http://localhost/api/v1/MyClass/1/foo

But I don't know how. Is this possible?

Cheers,

Barry.

Avatar
keeny

Community Member, 48 Posts

27 November 2010 at 1:50am

Looks like you need to set the static $allowed_actions. I've updated the docs here: http://doc.silverstripe.org/restfulserver#exposing_methods

Avatar
SSadmin

Community Member, 90 Posts

1 December 2010 at 3:52pm

good document, barry.. really happy to see your contribution for community growth.

Avatar
SS_Learner

Community Member, 18 Posts

31 July 2012 at 7:43pm

Hi

I am also working on restfulServer api in Silverstripe 3.
I want to execute my function foo on having the url :
http://localhost/api/v1/MyClass/foo

How can i do that?
Any help appreciated.