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
-
(base class)Object
Example
interface IMyApi { // GET /status string getStatus(); // GET /greeting @property string greeting(); version(none) { // PUT /greeting @property void greeting(string text); } // POST /new_user void addNewUser(string name); // GET /users @property string[] users(); // GET /:id/name string getName(int id); } void application() { auto api = new RestInterfaceClient!IMyApi("http://127.0.0.1/api/"); logInfo("Status: %s", api.getStatus()); version(none) 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 |
---|---|
RequestFilter
|
Authors
Sönke Ludwig, Михаил Страшун
Copyright
© 2012-2013 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.