代码拉取完成,页面将自动刷新
package main
import (
"log"
"net/http"
"toDoList/handler"
db "toDoList/models"
_ "github.com/go-sql-driver/mysql"
)
// 拦截器
// cors 跨域
func handleIterceptor(h http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
// 允许访问资源服务
w.Header().Set("Access-Control-Allow-Origin", "*")
// 允许跨域传递http头部
w.Header().Add("Access-Control-Allow-Headers", "Content-Type")
// 返回数据类型
w.Header().Set("content-type", "application/json")
// 添加允许请求方法
w.Header().Add("Access-Control-Allow-Methods", "GET,POST,OPTIONS,PUT,DELETE")
// TODO 异常处理拦截器
// TODO 日志记录拦截器
// TODO 有没有更优雅的方式?
h(w, r)
}
}
func main() {
//数据库初始化
db.InitDB()
//路由注册
http.HandleFunc("/create", handleIterceptor(handler.CreateHandler))
http.HandleFunc("/put", handleIterceptor(handler.PutHandler))
http.HandleFunc("/delete", handleIterceptor(handler.DeleteHandler))
http.HandleFunc("/list", handleIterceptor(handler.ListHandler))
//启动服务,在9090端口监听
log.Fatal(http.ListenAndServe(":9090", nil))
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。