//api.js
const Koa = require('koa');
const router = require('koa-router')(); //路由
const bodyParser = require('koa-bodyparser'); //解析原始request请求
const fs = require('fs'); //文件读取
const cors = require('koa2-cors'); //设置cors头
const app = new Koa; /**
* 数据库连接
*/
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/admin', {'useNewUrlParser': true});
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log('数据库连接成功') /**
* Schema 用来定义存储在document 中的属性,并且赋予他们校验的规则,和默认值
*/
var kittySchema = new mongoose.Schema({
name: String
}); kittySchema.methods.speak = function () {
var greeting = this.name
? "Meow name is " + this.name
: "I don't have a name";
console.log(greeting);
} /**
* 定义模型
*/
var Kitten = mongoose.model('Kitten', kittySchema); /**
* 模型实例
*/
var silence = new Kitten({ name: 'Silence' });
console.log(silence.name); // 'Silence'
silence.save(); //插库 var fluffy = new Kitten({ name: 'fluffy' });
fluffy.save(function (err, fluffy) {
if (err) return console.error(err);
fluffy.speak();
}); }); app.use(bodyParser()); app.use(cors({
origin: function (ctx) {
return '*';
}
})); let files = fs.readdirSync(__dirname + '/controllers');
let js_files = files.filter((f)=>{
return f.endsWith('.js');
}); for( let f of js_files ){
console.log(`process conteoller : ${f} ...`);
let mapping = require(__dirname + '/controllers/' + f ); for ( let url in mapping ){
if( url.startsWith('GET ')){
//如果url类似'GET xxx'
let path = url.substring(4);
router.get(path,mapping[url]);
}else if( url.startsWith('POST ') ){
//如果url类似'POST xxx'
let path = url.substring(5);
console.log('请求方式是:',path);
router.post(path,mapping[url]);
}
} } app.use(router.routes()); app.listen(8888);
console.log('app started at port 8888...');

kora 简单使用实现Api接口 以及mongodb简单使用的更多相关文章

  1. 一种简单的REST API接口加密实现,只允许自己的产品调用后台,防止接口被刷

    在项目上线后,后台接口很容易通过抓包工具看到, 难免被人为构造恶意请求攻击我们的系统,相信大家都或多或少都遇到过短信验证码被刷.疯狂留言灌水.数据被恶意爬取等问题,这种直接抓接口然后写个循环调用的行为 ...

  2. 新浪短网址最新api接口

    1,雨林短网址 网站链接:http://yldwz.cn 雨林短网址采用新浪.腾讯官方API接口,强大的多功能API,简单易用,质量高官 网提供强技术支持,99.9% SLA服务稳定安全可靠的校验机制 ...

  3. 没想到吧,Java开发 API接口可以不用写 Controller了

    本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便 ...

  4. .Net RabbitMQ实战指南——HTTP API接口调用

    RabbitMQ Management插件还提供了基于RESTful风格的HTTP API接口来方便调用.一共涉及4种HTTP方法:GET.PUT.DELETE和POST.GET方法一般用来获取如集群 ...

  5. 使用go, gin, gorm编写一个简单的curd的api接口

    go 是一门非常灵活的语言,既具有静态语言的高性能,又有动态语言的开发速度快的优点,语法也比较简单,下面是通过简单的代码实现了一个简单的增删改查 api 接口 hello world 常规版 新建 d ...

  6. 如何使用Postman快速简单的调用快递物流平台快递鸟API接口

    前沿 快递鸟是一家聚合类的第三方快递物流平台,目前该平台提供的产品主要以API为主.由于API不能直观的看到产品效果,需要进行API对接联调成功后才能真实的看到产品的实际效果.但是如果一上来就写代码进 ...

  7. 简单天气应用开发——API接口

    寒假回家无事,想到自学iOS开发已有一段时间,还没做过真正自己的应用,就起了做一个天气预报App的念头. 想到就做.天气预报第一步自然是找到好用的API接口来获取天气信息.在百度上搜索了一圈,找到的都 ...

  8. 有了这个api接口工具-微信跳转其他浏览器下载app就这么简单

    现在微信渠道可以说是拉新最快的渠道,因为微信具备强裂变性.但是目前微信对第三方下载链接的拦截是越来越严格了,那么想要在微信内肆无忌惮地推广链接就需要用到微信跳转浏览器的api接口,那如何获取该api接 ...

  9. 一个登陆浏览api接口; 其他相关: Form_with参数的不同写法; 简单使用curl。

    eeting-up app: 完成一个需求: 完成:https://github.com/chentianwei411/meeting-up-app 第四步实现API接口 Add api base a ...

  10. 简单几行代码使用百度地图API接口分页获取信息

    首发于: 万能助手扩展开发:使用百度地图API接口分页获取信息_电脑计算机编程入门教程自学 http://jianma123.com/viewthread.aardio?threadid=426 使用 ...

随机推荐

  1. 第五章:用Python分析商品退单数据并找出异常商品

    文章目录 项目背景 获取数据 数据计算 统计次数 异常商品 源码地址 本文可以学习到以下内容: 使用 pandas 中的 read_sql 读取 sqlite 中的数据 获取指定的日期的周一和周日 使 ...

  2. jboss单机环境搭建

    1.操作系统:centos7 2.需要的包:apache,wildfly,postgres(要初始化),activemq 3.安装流程: 一.安装依赖包并部署服务:httpd,wildfly,mq,p ...

  3. sap软件功能介绍及主要功能(模块)有哪些?

    SAP 成立于 1972 年,最初称为 System Analysis Program Development (Systemanalyse Programmentwicklung),后来采用缩写 S ...

  4. FastJson JdbcRowSetImpl

    Java安全之FastJson JdbcRowSetImpl 链分析 利用限制 RMI利用的JDK版本≤ JDK 6u132.7u122.8u113 LADP利用JDK版本≤ 6u211 .7u201 ...

  5. JS 代码片段 / 预编译/预解析 /执行上下文/ECG/EC/ECS/GO/VO/AO

    代码段概念 一个 script 就是一个代码段 在一个页面中可以有多个代码段 每一个代码段, 彼此独立的, 如果上面的代码段报错了, 不会影响下一个代码段 referenceError 引用错误 下面 ...

  6. uniapp开发的app打开微信小程序

    第一种 <script> export default { data() { return { sweixin: null } }, onLoad() { this.getPlus() } ...

  7. jmeter--json格式的请求数据参数化以及断言

    环境背景:登录接口测试 第一步:创建登录接口的http请求 第二步:添加配置原件--CSV Data Set Config(配置如图所示) 第三步:接口的请求下添加响应断言(如:用响应状态码作为检查点 ...

  8. html元素全屏展示

    参数传入dom对象即可,注意不是jQuery对象,Vue下兼容 /** * 面板全屏展示 */ fullscreen: function () { if (this.isFullScreen) { / ...

  9. JS基础笔记汇总

    JS基础笔记最全的汇总 javascript介绍以及起源目录1.变量和常量的知识2.基本数据类型3.运算符4.基本数据类型间的转换5.流程控制语句 一.javascript介绍以及起源 js一种直译型 ...

  10. A表某字段==B表某字段 更新A表的数据

    update mls_supplytask t1 -- 供应商认证任务 JOIN mls_sup_cert_report t2 -- 供应商认证报告 on t1.id = t2.certTaskId ...