Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "github.com/gin-gonic/gin"
- "gopkg.in/mgo.v2"
- )
- type (
- obj map[string]interface{}
- arr []interface{}
- )
- type user struct {
- Username string `form:"login" json:"login" bson:"login" binding:"required,min=3,max=40"`
- Name string `form:"fullname" json:"fullname" bson:"name" binding:"required"`
- Age int `form:"age" json:"age" bson:"age" binding:"min=18"`
- Password string `form:"pass" json:"pass" bson:"password" binding:"min=8"`
- Tags []string `form:"tags" json:"tags" bson:"tags" binding:"required,max=10"`
- Active bool `form:"active" json:"active" bson:"active"`
- }
- func main() {
- gin.SetMode(gin.ReleaseMode)
- router := gin.New()
- session, err := mgo.Dial(":27017")
- if err != nil {
- panic(err)
- }
- router.GET("/api/:key/add-user", func(c *gin.Context) {
- fmt.Println("Income query")
- if c.Param("key") != "LKHBCu6e" {
- c.JSON(400, obj{"msg": "Wrong API key"})
- return
- }
- var u user
- if err := c.Bind(&u); err != nil {
- c.JSON(400, obj{"msg": "Wrong data format", "err": err.Error()})
- return
- }
- if err := session.DB("mydb").C("users").Insert(u); err != nil {
- c.JSON(400, obj{"msg": "DB error"})
- return
- }
- c.JSON(200, obj{"msg": "User added"})
- })
- fmt.Println("Server started at http://localhost:3111")
- router.Run(":3111")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement