Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 787 Bytes

README.md

File metadata and controls

39 lines (31 loc) · 787 Bytes

expressjs-json-rpc

Expressjs JSON RPC 2.0 Controller

Install

yarn add expressjs-json-rpc
npm add expressjs-json-rpc

Usage

import {
  JsonRpcMiddleware,
  JsonRpcMethod,
  IJsonRpcId,
  IJsonRpcParams
} from 'nestjs-json-rpc'

@JsonRpcMiddleware()
export class SomeJsonRpcMware {
  @JsonRpcMethod('some-method')
  doSomething(@JsonRpcId() id: IJsonRpcId, @JsonRpcParams() params: IJsonRpcParams) {
    const {foo} = params
    
    if (foo === 'bar') {
      return new JsonRpcError(-100, '"foo" param should not be equal "bar"')
    }
    
    return 'ok'
  }
} 

const jsonRpcMware = new SomeJsonRpcMware().middleware

app.use('/rpc', jsonRpcMware)

Specification

https://www.jsonrpc.org/specification