Go 问题集

266 阅读1分钟

beego

Q:unexpected end of JSON input &post拿不到参数

A:app.conf中加入copyrequestbody = true

Gin-Vue-Admin

Q: server model>common>response>response.go SUCCESS从0改为200,导致无法登录

A: web res.code === 0 替换为 res.code === 200

端口

sudo lsof -i tcp:80 查看端口

sudo kill -9 PID   杀死端口

nginx

sudo nginx 启动

nginx -s reload 重启

sudo nginx -s stop 关闭ngin

/usr/local/etc/nginx/nginx.conf 路径

Mac 版 nginx出现403forbidden的解决方法

   nginx的默认配置文件头部user已经修改为 user root owner;

解决方法,在外联的conf文件加入autoindex on;

Model 标签

type Student struct { 
    ID int `json:"-"` // 该字段不进行序列化
    Name string `json:name,omitempy` // 如果为类型零值或空值,序列化时忽略该字段 
    Age int `json:age,string` // 指定类型,支持string、number、boolen 
}

juejin.cn/post/700546…

Post

获取单个参数

name := c.GetString("name")
if name == "" {
    c.Ctx.WriteString("name is empty")
}
id := c.Input().Get("id")
c.Ctx.WriteString(id)

Body 获取参数

var user User
data := c.Ctx.Input.RequestBody
err := json.Unmarshal(data, &user)
if err != nil {
    fmt.Println("json.Unmarshal is err:", err.Error())
}
fmt.Println(user)
c.Ctx.WriteString(user.Name)

CORS 跨域

func main() {
	beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
		AllowAllOrigins:  true,
		AllowMethods:     []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
		AllowHeaders:     []string{"Origin", "Authorization", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
		ExposeHeaders:    []string{"Content-Length", "Access-Control-Allow-Origin", "Access-Control-Allow-Headers", "Content-Type"},
		AllowCredentials: true,
	}))
	beego.Run()
}