我正在编写一个服务来学习 Go。我的主要功能可以在下面找到。它首先读取一个 XML 文件并将它们存储在一个切片中。我有一个/rss
端点,它从存储在“数据库”中的项目输出 RSS 提要。这工作正常。我还有一个端点 ( /add/{base64}
) 用于向该切片添加新项目。不幸的是,我不知道如何做到这一点。出于某种原因,我需要database
用添加的记录返回新的,这样它就可以用于/rss
. 但是如何?
我的具体问题是:
我知道如何添加记录 database
但我不知道如何返回完整的(包括添加的)数据库,以便/rss端点能够使用它。所以我想让rest.AddArticle返回新数据库,以便/rss端点知道添加的项目。
func main() {
defer glog.Flush()
// read database
database := model.ReadFileIntoSlice()
// initialise mux router
r := mux.NewRouter()
// http handles
r.HandleFunc("/add/{base64url}", rest.AddArticle(database))
r.HandleFunc("/rss", rest.GenerateRSS(database))
// start server
http.Handle("/", r)
glog.Infof("running on port %d", *port)
http.ListenAndServe(":"+strconv.Itoa(*port), nil)
}
或者是否有其他解决方案可以完成这项工作?我只想database通过所有软件包提供。
HUWWW
相关分类