Beego api после вставки данных

Прежде всего. Я использую почтальон для данных POST. Как взять данные с ключа почтальона. Он работает таким образом (в моем коде я установил его сам).

Я хочу получить имя, фамилию, адрес электронной почты в форме данных. Я хочу использовать, как показано ниже.

func InsertOneUser(user User) *User {
   o := orm.NewOrm()
   qs := o.QueryTable(new(User))
   i, _ := qs.PrepareInsert()
   var u User
   user.FirstName = "firstname"                          <----- this
   user.LastName = "lastname"                            <----- this
   user.Email = "[email protected]"                    <----- this
   user.Password, _ = hashPassword(user.Password)
   user.RegDate = time.Now()
   id, err := i.Insert(&user)
   return &u
}

Beego api после вставки данных

🤔 А знаете ли вы, что...
С Go легко интегрировать код на других языках, включая C и C++.


1
369
1

Ответ:

Решено

Вам нужно beego.Контроллер в func. если у func есть beego.Controller, есть два пути (key, parseform).

package main

import (
    "fmt"

    "github.com/astaxie/beego"
)

type User struct {
    Firstname string `form:"firstname"`
    Lastname  string `form:"lastname"`
    Email     string `form:"email"`
}

type MainController struct {
    beego.Controller
}

func (this *MainController) Post() {
    // using key
    firstname := this.GetString("firstname")
    lastname := this.GetString("lastname")
    email := this.GetString("email")

    // using Parseform
    u := User{}
    if err := this.ParseForm(&u); err != nil {
        fmt.Println(err)
    }

    fmt.Println(u)
    this.Ctx.WriteString(fmt.Sprintf("%s %s %s", firstname, lastname, email))
}

func main() {
    beego.Router("/api/v1/user", &MainController{})
    beego.Run()
}