go: finding module for package github.com/99designs/gqlgen/example/scalars/model
go: found github.com/99designs/gqlgen/example/scalars/model in github.com/99designs/gqlgen/example v0.0.0-20220208183958-9262b35865e4
go: github.com/99designs/gqlgen/example@v0.0.0-20220208183958-9262b35865e4 requires
github.com/99designs/gqlgen@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000
1.更新go.mod文件中的github.com/99designs/gqlgen版本:
打开项目的go.mod文件,找到指定github.com/99designs/gqlgen版本的行
require (
github.com/99designs/gqlgen v0.0.0-00010101000000-000000000000
)
将此版本更改为有效版本,最好是可用的最新版本。您可以使用以下命令检查最新版本:
go list -m -versions github.com/99designs/gqlgen
使用正确的版本信息更新您的go.mod文件:
require (
github.com/99designs/gqlgen v0.13.0
)
2.清除Go模块缓存:
有时,模块版本的问题可以通过清除Go模块缓存来解决。运行以下命令以清理模块缓存:
go clean -modcache
3.再次运行Run go mod tidy
again:
更新你的go.mod文件并清除模块缓存后,再次运行go mod tidy:
go mod tidy
这应该可以通过更新项目依赖项中对github.com/99designs/gqlgen有效版本的引用来解决问题。
请记住将版本号替换为github.com/99designs/gqlgen的实际最新版本。
gin框架之GET、POST获取参数
1.获取GET请求参数
func GetUserInfo(c *gin.Context){
// 获取get请求参数
u := c.Query("username") //此处获取的key值是再发请求的参数值
address := c.Query("address")
fmt.Println("拿到了用户名:",u)
returnData = make(map[string]interface{})
returnData["status"] = 200
returnData["msg"] = "查询成功"
userinfo = make(map[string]string)
// 获取的数据即可返回到前端
userinfo["name"] = u
userinfo["age"] = "18"
userinfo["address"] = address
returnData["data"] = userinfo
c.JSON(http.StatusOK, returnData)
}
2.获取POST请求参数---form-data类型
func addUser(c *gin.Context){
//POST获取请求参数
//form-data 获取请求参数
u := c.PostForm("username")
//如果没有获取到 address 则默认值为杭州
address := c.DefaultPostForm("address", "杭州")
c.String(http.StatusOK, "这是一个POST请求")
}
3.获取POST请求参数---JSON类型登录后复制
//1.转成map
func addUserJson(c *gin.Context){
jsonData,_ := c.GetRawData()
//拿到json串之后,两种处理方法
//1.转成map
var m map[string]interface{}
json.Unmarshal(jsonData, &m)
//c.JSON(http.StatusOK, jsonData)
fmt.Println("接收到的用户名是:",m["username"])
c.JSON(http.StatusOK, m)
}
//2.赋值给结构体
type UserInfo struct{
Username string `json:"username"`
Age int `json:"age"`
Address string `json:"address"`
}
func addUserstruct(c *gin.Context){
userinfo := UserInfo{}
if err := c.ShouldBindJSON(&userinfo); err != nil{
//绑定失败
fmt.Println("数据绑定失败:",err,Error())
c.JSON(http.StatusOK,gin.H{
"message": "参数格式不正确",
"status": 500,
})
}else{
c.JSON(http.StatusOK, userinfo)
}
}
https://blog.51cto.com/u_13681992/7383776