在Node.js中,大多數應用程序都需要使用JSON格式的數據進行通信。而通過Egg.js框架,你可以方便地創建RESTful風格的API,并使用JSON格式來進行數據交互。
Egg.js內置了egg-json插件,它提供了非常方便的JSON格式的數據輸出能力。
使用egg-json非常簡單,只需要在你的配置文件中啟用它即可:
module.exports = app =>{
const config = {};
// 開啟egg-json插件
config.json = {
// json和jsonp的輸出格式配置
// see: https://github.com/koajs/json/blob/master/index.d.ts
// jsonp的一些默認配置
jsonp: {
callback: 'jsonpCallback', //支持非查詢字符串的callback function name,回調函數名稱
limit: 100, //調整enable body-parser 轉json的options,json 限制了所有回應body最大大小,默認為1mb (缺省限制),但可以使用limit 參數將其他值設置為某個大小值
},
};
return config;
};
在你的Controller中,你可以通過this.ctx.json方法來響應JSON格式的數據:
module.exports = app =>{
class UserController extends app.Controller {
async index() {
const { ctx } = this;
const users = await ctx.model.User.findAll();
// 輸出JSON格式的數據
ctx.json(users);
}
}
return UserController;
};
除了直接在Controller中使用this.ctx.json方法之外,你還可以在Middleware、Service等其他地方使用。只需要在你的類中引入這個插件,就可以方便地進行JSON數據的輸出。