Web service
Updated
A web service is an RPC operation the model publishes at /api/rest/{Name}. It is not a data entity (/odata/{Name} — a record collection). It is not a service (GetService<I<Name>>() inside a script).
Note
A controller in the platform core ships to every tenant. A web service is a model object: it ships with the model and is deleted with the model.
The contract is parameters on the object. The body is a script (WebServiceScriptBase). Get / Post / Put / Delete fall through to Any unless you override a verb.
Three flags on the object: isEnabled (default on — off is indistinguishable from an unknown name), isDevOnly (only a CoreDevelopmentMode stand), requireExplicitRoles (an empty permission matrix is otherwise public to any authenticated caller).
The longer contract — files, status exceptions, Headers / RawBody, and OpenAPI coverage of headers and raw bodies — is A model's web services, not this page.
Related kinds#
- Data entity — OData collection, not RPC
- Service — in-process, no URL
- Job
- Model