转载

Fortune.js —— 超媒体 API 原型框架

fortune 是一个超媒体 API 原型框架,实现 JSON API 规范。fortune 具有一个模块化的持久层,里面包括了 NeDB (内联), MongoDB ,MySQL,Postgres 和SQLite 的适配器,可以查看 引导手册 了解如何使用。

Fortune 实现了所有 JSON API 的规范,还有一些其他的特性:

  • 使用简单, 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))
正文到此结束
Loading...