1.路由传参
url中通过https:..../id的方式传递的数据可以在控制器中通过this.ctx.params.id获取,
通过?name=ls的方式传递的数据则是通过this.ctx.query.name获取,
通过this.ctx.status可以修改返回的状态码。
2.关闭crsf开启跨域
1.安装 npm i egg-cors --save生产依赖。
2.在confug/plugin.js中配置插件
'use strict';
/** @type Egg.EggPlugin */
module.exports = {
// had enabled by egg
// static: {
// enable: true,
// }
cors: {
enable: true,
package: 'egg-cors',
},
};
3.在config.default.js中添加配置
// add your user config here
const userConfig = {
// myAppName: 'egg',
};
-----------------------------------
// 关闭csrf 开启跨域
config.security = {
// 关闭csrf
csrf: {
enable: false,
},
// 跨域白名单 vuecli
domainWhiteList: [ ],
};
// 允许跨域的方法
config.cors = {
origin: '*',
allowMethods: 'GET, PUT, POST, DELETE,PATCH',
};
-------------------------------------
return {
...config,
...userConfig,
};
};
4.为了方便路由的开发,可以使用资源路由,
router.resources('posts', '/api/posts', controller.posts);
RESTful 风格的 URL 定义
你只需要在 posts.js
里面实现对应的函数就可以了。
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 |