• Web服务开发
    • 1. 路由注册中: 路由//*的区别
    • 2. 在init包初始化方法中执行路由注册,但是却访问不到注册的路由
  • 数据库ORM
    • 1. 数据库查询结果转json没有了数值
    • 2. 表字段类型为datetime,参数为time.Time类型,写入后时区不对

    Web服务开发

    1. 路由注册中: 路由//*的区别

    • /仅匹配URI为/时的路由,这是一个精准匹配规则
    • /*匹配所有的路由,是模糊匹配规则,并且在优先级的控制下,该路由的优先级最低,在其他路由都无法匹配的情况下,最后会使用/*路由;

    2. 在init包初始化方法中执行路由注册,但是却访问不到注册的路由

    我按照文档上面的示例进行执行对象注册,但是运行后访问注册的路由(http://127.0.0.1/object)提醒我404,好着急啊,我在线等。

    1. package demo
    2. import (
    3. "github.com/gogf/gf/g"
    4. "github.com/gogf/gf/g/net/ghttp"
    5. )
    6. type Object struct {}
    7. func init() {
    8. g.Server().BindObject("/object", new(Object))
    9. }
    10. func (o *Object) Index(r *ghttp.Request) {
    11. r.Response.Write("object index")
    12. }
    13. func (o *Object) Show(r *ghttp.Request) {
    14. r.Response.Write("object show")
    15. }

    回答:

    1. 如何判断路由是否执行成功?在程序运行后终端会打印出当前注册的路由表信息,检查是否注册成功。
    2. 该问题是没有在main包中引入demo包造成的,引入方式:
      1. import _ "PATH/TO/YOUR/PROJECT/PACKAGE"
      文档链接: 【路由注册-基本介绍】

    数据库ORM

    参考 【数据库ORM-FAQ常见问题】 章节。以下为问题索引。

    1. 数据库查询结果转json没有了数值

    2. 表字段类型为datetime,参数为time.Time类型,写入后时区不对