This is an experimental and incomplete HTTP client for Go.
// Declare your servicetypeUserIdstruct {
Idint64`feature:"path" name:"id"`
}
typeServicestruct {
// Index based description.Userfunc(int) (User, error) `method:"GET" path:"/user/{0}"`// Feature based description.UserByStructfunc(*UserId) (User, error) `method:"GET" path:"/user/{id}"`// Websocket support.UserSocketfunc(int) (*websocket.Conn, error) `method:"GET" path:"/usersocket/{0}"`
}
// Build your clientclient, err:=reflectclient.NewBuilder().
BaseUrl("https://api.somesite.com").
SetUnmarshaler(&reflectclient.JsonUnmarshaler{}).
Build()
// Initialize your serviceservice:=new(Service)
client.Init(service)
// Call stuffuser, err:=service.User(15)
user, err:=service.UserByStruct(&UserId{Id: 15})
conn, err:=service.UserSocket(15)