API 创建的数据未使用 beego 保存

Create data by API not been saved with beego

版本:

bee version
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0

├── Beego     : 1.11.1
├── GoVersion : go1.12.1

创建beego项目:

bee new quickstart

使用beego的bee工具生成post脚手架:

bee generate scaffold post -fields="title:string,body:text" -driver=mysql -conn="root:root@tcp(127.0.0.1:3306)/quickstart"

routers/router.go

package routers

import (
    "quickstart/controllers"
    "github.com/astaxie/beego"
)

func init() {
    beego.Router("/", &controllers.MainController{})
    beego.Router("/posts" ,&controllers.PostController{}, "*:GetAll")
    beego.Router("/posts/add" ,&controllers.PostController{}, "*:Post")
}

数据库中一条记录的首字母:

mysql> use quickstart;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------------+
| Tables_in_quickstart |
+----------------------+
| migrations           |
| post                 |
+----------------------+
2 rows in set (0.00 sec)

mysql> desc post;
+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| title | varchar(128) | NO   |     | NULL    |                |
| body  | longtext     | NO   |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql> insert into post(id, title, body) values(1, 'a', 'b');
Query OK, 1 row affected (0.00 sec)

通过 API 创建第二条记录:

但是查看数据列表,titlebody没有被保存。为什么?

可能 bee new quickstart 未使用 API 生成结构。是为了形式。