#[jsonrpc]Expand description
Generate JSON-RPC 2.0 handlers over HTTP.
§Example
ⓘ
use server_less::jsonrpc;
struct Calculator;
#[jsonrpc]
impl Calculator {
/// Add two numbers
fn add(&self, a: i32, b: i32) -> i32 {
a + b
}
/// Multiply two numbers
fn multiply(&self, a: i32, b: i32) -> i32 {
a * b
}
}
// POST /rpc with {"jsonrpc": "2.0", "method": "add", "params": {"a": 1, "b": 2}, "id": 1}
// Returns: {"jsonrpc": "2.0", "result": 3, "id": 1}This generates:
Calculator::jsonrpc_router()returning an axum RouterCalculator::jsonrpc_handle(request)to handle JSON-RPC requestsCalculator::jsonrpc_methods()listing available methods
Supports JSON-RPC 2.0 features:
- Named and positional parameters
- Batch requests (array of requests)
- Notifications (requests without id)