Hello World
在第二部分第二节种们通过定义 niuhe/all.niuhe
实现了一个简单的 Hello World
示例。本节我们将介绍如何实现它。
我们将 src/demo/app/api/views/hello_views.go
中 World_GET
方法修改为如下:
func (v *Hello) World_GET(c *niuhe.Context, req *protos.HelloReq, rsp *protos.HelloRsp) error {
rsp.Greeting = "Hello World " + req.Name
return nil
}
重新运行程序并访问如下链接 http://localhost:19999/api/hello/world/?name=Tom
,即可看到返回的问候语。
{
"data": {
"greeting": "Hello World Tom"
},
"result": 0
}
这里 github.com/ma-guo/niuhe
包提供了一些基础的功能,如上下文管理、请求参数解析等和返回结构包装。我们只关心具体业务逻辑即可。
插件生成 view 文件时会生成一个
views/XX.go
和views/gen_XX.go
, gen 开头的文件在每次生成代码时都会覆写, 请不要在其中修改代码。而XX.go
则在文件存在时跳过写内容操作。因此添加新的 api 定义时, 只需从
gen_XX.go
复制新添加的方法定义到XX.go
中并去掉gen_
前缀即可。