Web服务开发
1. 路由注册中: 路由/
与/*
的区别
/
仅匹配URI为/
时的路由,这是一个精准匹配规则
;/*
匹配所有的路由,是模糊匹配规则
,并且在优先级的控制下,该路由的优先级最低,在其他路由都无法匹配的情况下,最后会使用/*
路由;
2. 在init
包初始化方法中执行路由注册,但是却访问不到注册的路由
我按照文档上面的示例进行执行对象注册,但是运行后访问注册的路由( http://127.0.0.1/object )提醒我404
,好着急啊,我在线等。
package demo
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)
type Object struct {}
func init() {
g.Server().BindObject("/object", new(Object))
}
func (o *Object) Index(r *ghttp.Request) {
r.Response.Write("object index")
}
func (o *Object) Show(r *ghttp.Request) {
r.Response.Write("object show")
}
回答:
- 如何判断路由是否执行成功?在程序运行后终端会打印出当前注册的路由表信息,检查是否注册成功。
- 该问题是没有在
main
包中引入demo
包造成的,引入方式:
文档链接: 【路由注册-基本介绍】import _ "PATH/TO/YOUR/PROJECT/PACKAGE"
数据库ORM
参考 【数据库ORM-FAQ常见问题】 章节。以下为问题索引。