fortune是一个超媒体API原型框架,实现JSONAPI规范。fortune具有一个模块化的持久层,里面包括了NeDB(内联),MongoDB,MySQL,Postgres和SQLite的适配器,可以查看引导手册了解如何使用。
Fortune实现了所有JSONAPI的规范,还有一些其他的特性:
使用简单,Fortune提供免费的路线控制和数据库交互,不需要用户制作管道。
关联和双向关系的映射,不需要用户管理资源之间的关联关系。
在编辑前或者阅览之后,自动变换资源,实现特定的应用逻辑
fortune没有相关的授权和身份验证,你可以在你的应用中实现,可以查看样板:keystore.js。
用npm安装:
$ npm install fortune示例代码:
import fortune from 'fortune'import http from 'http'const store = fortune.create()// The `net.http` function returns a listener function which does content// negotiation, parses headers, and maps the response to an HTTP response.const server = http.createServer(fortune.net.http(store))store.defineType('user', { name: { type: String }, // Following and followers are inversely related (many-to-many). following: { link: 'user', inverse: 'followers', isArray: true }, followers: { link: 'user', inverse: 'following', isArray: true }, // Many-to-one relationship of user posts to post author. posts: { link: 'post', inverse: 'author', isArray: true }})store.defineType('post', { message: { type: String }, // One-to-many relationship of post author to user posts. author: { link: 'user', inverse: 'posts' }})store.connect().then(() => server.listen(1337))
评论