main.go 634 B

12345678910111213141516171819202122232425262728293031
  1. package main
  2. import (
  3. "git.nspix.com/golang/micro"
  4. "git.nspix.com/golang/micro/gateway"
  5. "git.nspix.com/golang/micro/log"
  6. )
  7. type (
  8. mathRequest struct {
  9. NumA int `json:"num_a"`
  10. NumB int `json:"num_b"`
  11. }
  12. mathResponse struct {
  13. Value int `json:"value"`
  14. }
  15. )
  16. func main() {
  17. svr := micro.New(micro.WithName("test", "0.1.01"))
  18. svr.Handle("math.add", func(ctx gateway.Context) (err error) {
  19. var req mathRequest
  20. if err = ctx.Bind(&req); err == nil {
  21. return ctx.Success(mathResponse{Value: req.NumA + req.NumB})
  22. } else {
  23. return ctx.Error(100, err.Error())
  24. }
  25. },micro.WithHttpMethod("GET"))
  26. log.Debug(svr.Run())
  27. }