微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Fortune.js 超媒体 API 原型框架

程序名称:Fortune.js

授权协议: MIT

操作系统: 跨平台

开发语言: JavaScript

Fortune.js 介绍

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))

Fortune.js 官网

http://fortunejs.com/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐