用gin框架写一个用户登录接口
时间: 2024-05-15 12:17:16 浏览: 6
好的,我可以回答这个问题,以下是一个使用 Gin 框架编写的用户登录接口示例:
```go
package main
import (
"fmt"
"net/http"
"github.com/gin-gonic/gin"
)
type User struct {
Username string `json:"username"`
Password string `json:"password"`
}
var users = []User{
{Username: "alice", Password: "123456"},
{Username: "bob", Password: "654321"},
}
func main() {
router := gin.Default()
router.POST("/login", func(c *gin.Context) {
var loginData User
if err := c.BindJSON(&loginData); err != nil {
c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
for _, user := range users {
if loginData.Username == user.Username && loginData.Password == user.Password {
c.JSON(http.StatusOK, gin.H{"message": fmt.Sprintf("Welcome, %s!", user.Username)})
return
}
}
c.AbortWithStatusJSON(http.StatusUnauthorized, gin.H{"error": "Incorrect username or password"})
})
router.Run(":8080")
}
```
请注意,此示例中未包含数据库连接和身份验证等关键细节。实际项目中需要根据需求进行修改和完善。