2019.3.19项目的新建
- 安装sails
npm install sails -g
- 新建一个sails的项目
sails new rearend
- 实用开发工具的安装和使用nodemon(可以在代码发生更改的时候自动重启项目,提高开发效率)
-
cd rearend
-
npm install nodemon -g
-
- 在package.json里面修改启动方式
-
"start": "nodemon app.js"
-
- 最后
npm start
启动
- 最后
- 数据库的配置(在datastores.js里面可以看到提示)
-
npm install sails-mysql --save
,然后按着datastores.js里面的提示配置即可 baseURL:localhost:1337
- 定制路由的时候controller的命名问题 比如controller/user下有一个get-book-list.js的控制器 给这个js文件命名的时候就千万要注意了,不能写成getBookList.js的形式,会访问不到
- 在自己定义的控制器里如果要用req,res就要在前面加上this.req,this.res
- postman测试时的相关问题
- sails查看图片地址时读取的是tmp下的public文件夹里面的图片地址。但是使用原先的办法,图片是保存到assets下面的图片目录下。必须每次重启数据库才可获得修改的图片。解决方法:在根目录下新建一个public文件夹,修改.sailsrc,添加 "paths":{ "public":"public" }即可
传参
- username:用户名
- password:密码
- email:邮箱
{
"username":"XXXX",
"password":"XXXXX",
"email":"XXXXX"
}
返回 201
- 返回用户id
{
id:3
}
{
"info": "signin in successfully"
}
- username:用户名
- password:密码
{
"username":"hsr4610",
"password":"234567"
}
- userId:用户id
{
"userId":12
}
成功返回true
{
"info": true
}
失败返回false 返回200和用户所有信息
{
"info": {
"createdAt": 1554523148544,
"updatedAt": 1554523148544,
"id": 1,
"username": "myn2113",
"password": "123456",
"email": "[email protected]",
"admin": true
}
}
[
{
"createdAt": 1554451466912,
"updatedAt": 1554451466912,
"id": 1,
"bookName": "这些人,那些事",
"bookPrice": 28,
"bookPub": "译林出版社",
"author": "吴念真",
"ISBN": "9787544717731",
"imageUrl": ""
},
{
"createdAt": 1554451473634,
"updatedAt": 1554451473634,
"id": 2,
"bookName": "局外人",
"bookPrice": 28,
"bookPub": "江苏凤凰文艺出版社",
"author": "阿尔贝·加缪",
"ISBN": "9787559427434",
"imageUrl": ""
}
]
{
"info": {
"createdAt": 1554451473634,
"updatedAt": 1555498003043,
"id": 2,
"bookName": "局外人",
"bookPrice": 28,
"bookPub": "江苏凤凰文艺出版社",
"author": "阿尔贝·加缪",
"ISBN": "9787559427434",
"imageUrl": "3e48768c-809e-4767-b08e-472c517b42f4.jpg"
}
}
成功则返回
{
"num": 2
}
- 获取之前必须先登录(即调用用户登录接口),若没有登录会返回forbbiden 若成功获取返回200
{
"info": [
{
"createdAt": 1554451473634,
"updatedAt": 1555498003043,
"id": 2,
"bookName": "局外人",
"bookPrice": 28,
"bookPub": "江苏凤凰文艺出版社",
"author": "阿尔贝·加缪",
"ISBN": "9787559427434",
"imageUrl": "3e48768c-809e-4767-b08e-472c517b42f4.jpg"
},
{
"createdAt": 1554451477655,
"updatedAt": 1555557119689,
"id": 3,
"bookName": "罗生门",
"bookPrice": 28,
"bookPub": "开明出版社",
"author": "芥川龙之介",
"ISBN": "9787513139144",
"imageUrl": "4b1b7c52-7816-48fc-a363-8597f15312d6.jpg"
}
]
}
例如: GET /book/key/上帝,查询到
{
"info": [
{
"createdAt": 1554451480305,
"updatedAt": 1555574779718,
"id": 4,
"bookName": "上帝笑了99次",
"bookPrice": 78,
"bookPub": "北京联合出版公司",
"author": "得·凯弗",
"ISBN": "9787559627605",
"imageUrl": "79f42794-7a56-46b2-b06c-0ad92c0249d0.jpg"
},
{
"createdAt": 1554804915720,
"updatedAt": 1554804915720,
"id": 12,
"bookName": "创新实践2-书城项目",
"bookPrice": 0,
"bookPub": "杭州电子科技大学",
"author": "上帝",
"ISBN": "2019-04-09",
"imageUrl": ""
}
]
}
- 获取之前必须登录 传参
- userId:用户Id
- bookId:图书Id
{
"userId":1,
"bookId":4
}
返回 200
{
"info": true
}
传参
- userId:用户Id
- bookId:图书Id
{
"userId":1,
"bookId":4
}
返回 200
{
"info": true
}
例如:GET /book/1/user/3
若被收藏,返回:
{ "info": true }
- 只有图书管理员才能进行此操作 传参
- bookName:图书名称
- bookPrice:图书价格
- bookPub:图书出版社
- author:图书作者
- ISBN:图书编号
{
"bookName":"xxxxxx",
"bookPrice":24,
"bookPub":"xxxxxx",
"author":"xxxxxxx",
"ISBN":"xxxxxx",
}
返回 201
{
"info": "add a book successfully"
}
- 只有图书管理员才能进行此操作
- bookName:图书名称
- ISBN编号 传参
{
"bookName":"xxxxx",
"ISBN":"xxxxx"
}
- 只有图书管理员才能进行此操作 传参
{
"bookName": "测试",
"bookPrice":44,
"bookPub": "1",
"author": "1",
"ISBN":"123456"
}
返回
- statusCode:200
{
"info": "update a book successfully"
}
返回
- 删除成功statusCode:204
- 失败返回statusCode:400
- 只有管理员才能进行此项操作
- avatar 图书图片字段 若添加成功,返回201 Created