这是我在官网上找的,每种方法有相对应的请求方式:
Method | Path | Route Name | Controller.Action |
---|---|---|---|
GET | /posts | posts | app.controllers.posts.index |
GET | /posts/new | new_post | app.controllers.posts.new |
GET | /posts/:id | post | app.controllers.posts.show |
GET | /posts/:id/edit | edit_post | app.controllers.posts.edit |
POST | /posts | posts | app.controllers.posts.create |
PUT | /posts/:id | post | app.controllers.posts.update |
DELETE | /posts/:id | post | app.controllers.posts.destroy |
获取库数据 select
controller文件:
async select(){ const data = awact this.ctx.service.jian.select() //service文件 /jian.js文件 /select函数 this.ctx.body = data }
service文件:
async select(){ const data = this.app.mysql.get('db2').select('gzjl') //必须要都的,获取'db2'数据源.select方法 return {data} }
用get请求数据
create创建并插入新数据
controller:
async create(){ ctx = this.ctx; const data = await ctx.service.jian.create() ctx.body = data }
service:
async create(){ const obj={ 库里的属性:要修改的数据 } const data = await this.app.mysql.get('db1').insert('gzjl',obj) return {data} }
请求数据时也可以在第二个参数传对象修改
url:
Axios.post('/gzjl',{},{}).then((res)=>{ console.log(res) })
delete删除数据库
controller:
async delete(){ const ctx = this.ctx const data = await ctx.service.jianli.delete() ctx.body = data }
service:
async delete(){ const data = async this.app.mysql.get('db1').delete('gzjl',{id:1}) return {data} }
url:
Axios.delete('/gzjl/:1',{},{}).then((res)=>{ console.log(res) })
update动态更新数据:
controller:
async update(){ const ctx = this.ctx; const data = await ctx.service.jianli.update() ctx.body = data }
service:
async update(){ const params = ctx.request.body; //获取传参,修改数据必须 const userId = ctx.params.id; const obj = { id: userId, name: params.name, age: params.age, banji: params.banji, xingbie: params.xingbie, zhuang: params.zhuang //注意,注意,一定要查看你要修改的类型和你输入的数据一致 //我就因为在数字里输入字符串报错半天 } const date = await this.app.mysql.get('db1').update('gzjl',obj) return {date} }
url:
const { index,name, banji, xingbie, age, zhuang } = this.state Axios.put(`/gzjl/${index + 1}`,{ name: name, banji: banji, xingbie, age: age, zhuang: zhuang //动态传数据 }).then((res)=>{console.log(res)})
get查询id数据:
controller:
async show() {
const ctx = this.ctx;
const userId = ctx.params.id;
// ctx.params.id是地址栏/后跟加的id值
// ctx可能是app文件夹
// ctx.service.users 能获取到service里的users.find函数
const user = await ctx.service.student.find(userId)
ctx.body = user;
}
service:
async find(uid) {
// 假如 我们拿到用户 id 从数据库获取用户详细信息
const user = await this.app.mysql.get('db2').get('students', { id: uid });
return { user };
}
url:
Axios.get('/student').then((res) => {
console.log(res.data)
})