jsonapi-server, 实现json的配置驱动NodeJS框架

分享于 

5分钟阅读

GitHub

  繁體 雙語
A fully featured NodeJS server implementation of json:api
  • 源代码名称:jsonapi-server
  • 源代码网址:http://www.github.com/holidayextras/jsonapi-server
  • jsonapi-server源代码文档
  • jsonapi-server源代码下载
  • Git URL:
    git://www.github.com/holidayextras/jsonapi-server.git
    Git Clone代码到本地:
    git clone http://www.github.com/holidayextras/jsonapi-server
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/holidayextras/jsonapi-server
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    Build StatusCoverage Statusnpm versionDependencies Status

    jsonapi服务器

    Greenkeeper badge

    配置驱动器NodeJS框架实现了 json:apiGraphQL 你定义了资源,它提供了 api。

    Motivation/Justification/Rationale

    这个框架解决了 json:api 和GraphQL的挑战,而没有把我们耦合到任何一个ORM解决方案。 每个它的他模块都可以紧密耦合到数据库实现,跟踪旧版本的json:api 规范,或者只是一个 helper 库。 如果你正在构建一个API并且你的用例只涉及读取和写入数据存储。 这个框架提供了一个复杂 API,不受任何一个技术的限制。

    构建一个API的配置驱动方法可以:

    • 强制 json:api 响应
    • 自动GraphQL架构生成
    • 请求验证
    • 有效负载验证
    • 自动生成文档
    • 自动包含
    • 自动传送
    • 自动处理关系

    最终,你作为这里框架的用户的唯一事情是:

    • 我的资源叫什么
    • 我的资源有哪些属性?
    • 对于每个资源,请实现 handler:
      • create 资源资源
      • delete 资源资源
      • 面向多种资源的search
      • find 指定特定资源
      • update 指定特定资源

    我们已经创建了 handler s,以自动地将配置映射到数据库解决方案,帮助人们从

    如果GraphQL不是你的东西,我们还编写了一个库来简化 json:api 兼容服务的使用:

    完整文档

    你可以拥有一个完整的json:api 服务器,其中只提供了一个 photos 资源:

    var jsonApi =require("jsonapi-server");jsonApi.setConfig({
     port:16006,
     graphiql:true});jsonApi.define({
     resource:"photos",
     handlers:newjsonApi.MemoryHandler(),
     attributes: {
     title:jsonApi.Joi.string(),
     url:jsonApi.Joi.string().uri(),
     height:jsonApi.Joi.number().min(1).max(10000).precision(0),
     width:jsonApi.Joi.number().min(1).max(10000).precision(0)
     }
    });jsonApi.start();

    你的新API将位于 http://localhost:16006/,你的photos 资源将在 http://localhost:16006/photos 处。 GraphiQL接口将在 http://localhost:16006/ 处可用。

    给我一个完整的例子 !

    使用官方规范中提到的资源启动一个 json:api 服务器示例:

    
    $ git clone https://github.com/holidayextras/jsonapi-server.git
    
    
    $ npm install
    
    
    $ npm start
    
    
    
    

    然后浏览到 JSON:API 端点:

    
    http://localhost:16006/rest/photos
    
    
    
    

    或者,对于 GraphQL:

    
    http://localhost:16006/rest/
    
    
    
    

    可以在这里找到示例实现( 这里是 )。


      IMP  framework  Drive  nodejs  
    相关文章