Class RestInterfaceClient!(I)
Implements the given interface by forwarding all public methods to a REST server.
The server must talk the same protocol as registerRestInterface
() generates. Be sure to set the matching method
style for this. The RestInterfaceClient
class will derive from the interface that is passed as a template argument. It can be used as a drop-in replacement of the real implementation of the API this way.
Inherits from
-
Object
(base class)
Examples
An example client that accesses the API defined in the registerRestInterface
() example:
import vibe.d; interface IMyApi { string getStatus(); @property string greeting(); @property void greeting(string text); void addNewUser(string name); @property string[] users(); string[] index(); string getName(int id); } static this() { auto api = new RestInterfaceClient!IMyApi("http://127.0.0.1/api/"); logInfo("Status: %s", api.getStatus()); api.greeting = "Hello, World!"; logInfo("Greeting message: %s", api.greeting); api.addNewUser("Peter"); api.addNewUser("Igor"); logInfo("Users: %s", api.users); }
Constructors
Name | Description |
---|---|
this | Creates a new REST implementation of I |
Fields
Name | Type | Description |
---|---|---|
m_baseURL | URL | |
m_methodStyle | MethodStyle | |
m_requestFilter | RestInterfaceClient.RequestFilter |
Methods
Name | Description |
---|---|
request | |
requestFilter | An optional request filter that allows to modify each request before it is made. |
Aliases
Name | Description |
---|---|
BaseInterface | |
RequestFilter |
Authors
Sönke Ludwig, Михаил Страшун
Copyright
© 2012 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.