我是Golang的新手,需要一些帮助。
正如您在下面的代码中看到的,我正在尝试在 Golang 中创建 REST API。我使用mux(Gorilla Mux) 和pq(PostgreSQL driver) 作为第三方库。不想使用 ORM。
在文件内部application.go,我有InitializeRoutes一个包含所有可行路线列表的函数。GetFactors函数处理这些路由之一。我试图GetFactors在其他名为factors.go. 内部factors.go文件我想使用Application在application.go. 如何正确制作?现在你可以看到它们在不同的包中。这就是为什么factors.go文件看不到Application结构的原因。
项目结构:
main.go
application.go
controllers
factors.go
主要去:
package main
func main() {
application := Application{}
application.Initialization()
application.Run("localhost:8000")
}
应用程序去:
package main
import (
"database/sql"
"github.com/gorilla/mux"
"log"
"net/http"
"rest-api/configurations"
)
type Application struct {
Router *mux.Router
Database *sql.DB
}
func (application *Application) Initialization() {
var err error
application.Database, err = configurations.DatabaseConnection()
if err != nil {
log.Fatal(err)
}
application.Router = mux.NewRouter()
application.Router.StrictSlash(true)
application.InitializeRoutes()
}
func (application *Application) Run(address string) {
log.Fatal(http.ListenAndServe(address, application.Router))
}
func (application *Application) InitializeRoutes() {
application.Router.HandleFunc("/api/factors", application.GetFactors).Methods("GET")
// other code
}
控制器/factors.go:
package controllers
import (
"net/http"
)
func (application *Application) GetFactors(rw http.ResponseWriter, request *http.Request) {
// code
}
湖上湖
相关分类