rest.rst (1067B)
1 2 .. index:: 3 double: subsystem; REST 4 5 .. _REST-Subsystem-Dev: 6 7 REST 8 ==== 9 10 .. todo:: Define REST 11 12 Using the REST subsystem, you can expose REST-based APIs or services. 13 The REST service is designed as a pluggable architecture. To create a 14 new REST endpoint, simply add a library in the form "plugin_rest_*". The 15 REST service will automatically load all REST plugins on startup. 16 17 .. _Namespace-considerations: 18 19 Namespace considerations 20 ------------------------ 21 22 The ``gnunet-rest-service`` will load all plugins that are installed. As 23 such it is important that the endpoint namespaces do not clash. 24 25 For example, plugin X might expose the endpoint "/xxx" while plugin Y 26 exposes endpoint "/xxx/yyy". This is a problem if plugin X is also 27 supposed to handle a call to "/xxx/yyy". Currently the REST service will 28 not complain or warn about such clashes, so please make sure that 29 endpoints are unambiguous. 30 31 .. _Endpoint-documentation: 32 33 Endpoint documentation 34 ---------------------- 35 36 This is WIP. Endpoints should be documented appropriately. Preferably 37 using annotations.