源码
package main
import (
"context"
"github.com/asim/go-micro/v3"
"github.com/asim/go-micro/v3/errors"
"log"
"microservices/gomicro/02/proto"
)
type Example struct {
}
type Foo struct {
}
func (e *Example) Call(ctx context.Context, req *proto.CallRequest, resp *proto.CallResponse) error {
log.Println("收到Example.Call请求")
if len(req.Name) == 0 {
return errors.BadRequest("go.micro.api.example", "no name")
}
resp.Message = "Exmaple.Call接收到了你的请求" + req.Name
return nil
}
func (f *Foo) Bar(ctx context.Context, req *proto.EmptyRequest, resp *proto.EmptyResponse) error {
log.Println("收到Foo.Bar请求")
return nil
}
func main() {
service := micro.NewService(
micro.Name("go.micro.api.example"),
)
service.Init()
err := proto.RegisterExampleHandler(service.Server(), new(Example))
if err != nil {
println(err.Error())
}
err = proto.RegisterFooHandler(service.Server(), new(Foo))
if err != nil {
println(err.Error())
}
err = service.Run()
if err != nil {
log.Fatal(err.Error())
}
}
执行 命令 micro api --handler=api
然后go run 代码
之后访问http://127.0.0.1:8080/example/call 就返回not found
是访问的路径不对还是因为啥?
有疑问加站长微信联系(非本文作者)
