API meta 模式在 go-micro v1.16 下无法食用
linwenchao opened this issue · 1 comments
linwenchao commented
如题,basic-pratices/micro-api/meta/ 在v1.15下运行正常,
但代码不变,换用go-micro v1.16后启动服务报错
panic: assignment to entry in nil map
goroutine 1 [running]:
github.com/micro/go-micro/server.newRpcHandler(0x4a20700, 0xc0000c29c0, 0xc0000c29a0, 0x2, 0x2, 0x538b601, 0xc0000c29c0)
/Users/jimmy/go/pkg/mod/github.com/micro/go-micro@v1.16.0/server/rpc_handler.go:36 +0x40c
github.com/micro/go-micro/server.(*router).NewHandler(...)
/Users/jimmy/go/pkg/mod/github.com/micro/go-micro@v1.16.0/server/rpc_router.go:389
github.com/micro/go-micro/server.(*rpcServer).NewHandler(0xc000144140, 0x4a20700, 0xc0000c29c0, 0xc0000c29a0, 0x2, 0x2, 0x49d29a0, 0xc0001ecb01)
/Users/jimmy/go/pkg/mod/github.com/micro/go-micro@v1.16.0/server/rpc_server.go:373 +0x5a
另想请教,如果使用api handler,是否有方法定制访问url?例如,有类似meta中的Endpoint path吗?
如果想向外暴露类似rest的api接口,就只能用proxy / http handler了?
多谢 🙏
printfcoder commented
一般Micro和Go-Micro要版本配合,所以请更新Micro到最新版本,也请帮我们更新一下mod文件。
api handler的URL和后台服务是有映射关系的,路径会严格映射,/serviceName/method类似的解析协议,这个目前无法自定义,也没有必要去维护自定义的关系,如果需要可以自行修改映射逻辑,再编译。
对外暴露可以走API也可以走web应用。