二次开发,如何调用系统的config.yaml 文件中的数据?

By at • 375次点击
戎建伟

我在router.go 中的修改:

sp.HandleFunc(pat.Get("/admin/link/list"), h.AdminLinkList)
sp.HandleFunc(pat.Post("/admin/link/list"), h.AdminLinkListPost)
sp.HandleFunc(pat.Get("/:filepath"), h.StaticFile)
sp.HandleFunc(pat.Post("/joke"), rjw123ylMiniP.PostHandlerPost)  // 我的网页处理函数,能正常运行。
sp.HandleFunc(pat.Get("/jokes"), rjw123ylMiniP.PostsHandler)

但是,无法加入变量 h。好像系统的设置是通过 h 传入的。

sp.HandleFunc(pat.Post("/joke"), rjw123ylMiniP.h.PostHandlerPost)  // 总是报错。

函数定义已经加了

func (H *BaseHandler)  PostHandlerPost(w http.ResponseWriter, r *http.Request)。

错误信息:undefind: rjw123ylMiniP.H

戎建伟 at 2020-08-07 09:18
1

将自己的网页处理函数,加入到 package controller, 可以使用 h 变量了。调用 config.yaml 文件中的数据,正常了。出现了新的问题, 原来的 Get 处理函数,转到 package controller 包内后, 总是被认定为 static 文件。 以前在 package main 中正常运行: root.HandleFunc(pat.Get("/jokes"), rjw123ylMiniP.PostsHandler) 换到 pakage controller 后: sp.HandleFunc(pat.Get("/jokes"), h.PostsHandler) 每次浏览这个目录,总是报错,没有 static 文件。

戎建伟 at 2020-08-07 17:39
2

@戎建伟 #2

把添加的路由放在路由/:filepath的上面

sp.HandleFunc(pat.Get("/jokes"), h.PostsHandler) // 新添加
sp.HandleFunc(pat.Get("/:filepath"), h.StaticFile)
youbbs at 2020-08-07 18:02
3

@youbbs #3 谢谢!解决了。

戎建伟 at 2020-08-07 21:44
4
登录 后发表评论