Skip to content
/ gjrpc Public

Go JSON RPC with code generation from go declarations

License

Notifications You must be signed in to change notification settings

rwlist/gjrpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gjrpc

Go JSON RPC with code generation from go declarations. This project is in very early alpha and works only for simplest cases.

You can look at this example, to see what is supported now.

Code annotation glossary

  • gjrpc:service <rpc_path>
    • Place: <> type Service interface { [methods] }
    • Used on service declaration, to register service in rpc protocol
  • gjrpc:method <rpc_path>
    • Place: type Service interface { <> func method1() ... }
    • Used on method declaration, to register method in the service
  • gjrpc:handle-route <service_go_type>
    • Place: type Handlers struct { <> ServiceName Type ... }
    • Used on field with service implementation, to generate appropriate router for this handler

Goal

The goal of this project is to create tooling which will allow to create and implement API which is easy to use from the browser (TypeScript) and server code in Go and other languages. To do that, JSON RPC is a nice choice, which is easy to use and easy to implement.

This tooling will allow to create API from go declarations, and also generate code for servers and clients in other languages.