Class Definition
Type Parameters
| Parameter | Description |
|---|---|
Params | URI template parameters type |
Out | Output type |
Properties
| Property | Type | Description |
|---|---|---|
metadata | ResourceMetadata | ResourceTemplateMetadata | Resource metadata |
uri | string | The actual resource URI being read |
params | Params | Extracted URI template parameters |
output | Out | undefined | Resource content (after execution) |
resourceName | string | Resource name |
resourceId | string | Resource ID |
Abstract Method
execute(uri, params)
The main execution method that must be implemented.Return Format
Resources must returnReadResourceResult:
Methods
respond(value)
Set output and end execution immediately.outputHistory
History of output changes during execution. Entries areHistoryEntry records:
Static Resource Example
Template Resource Example
Binary Content Example
Multiple Parameters Example
Full Example with Error Handling
Argument Autocompletion
Resource templates can provide autocompletion for their URI parameters. There are two approaches, both with full DI access viathis.get():
Convention-Based (Preferred)
Define a method named${argName}Completer on your resource class. The framework discovers it automatically.
Override-Based
OverridegetArgumentCompleter(argName) for dynamic dispatch across multiple parameters.
Related
@Resource
Resource decorator
@ResourceTemplate
Template decorator
ResourceRegistry
Resource registry
Resource Errors
Resource errors