ns_service_pack

实现REST架构(ROA)中Service层基础代码抽取

功能列表

  • 支持自定义json格式的资源crud操作

  • 提供全局字典常量/转换管理

  • 提供数据库层-业务层字段自动转换

  • 宿主应用的发布接口管理和测试

TODO LIST

  • 将源码共享到本地svn上

  • REST接口测试平台开发

    如何用get请求模拟post请求?
    
  • 规划文档和内容调整

  • 写完整测试

  • index默认查询条件加入,传入条件的merge(目前已提供传入条件的精确搜索)

  • 接口可见性优化,发布出来的接口加上前缀/ns/interfaces ?

使用指南

  • 在rails3项目中使用,命令行执行:

    `gem install ns_service_pack`
    `nsp install`
    `bundle install`
    
  • 为某资源生成有service支持的scaffold,命令行:

    `rake g ns:scaffold`
    
  • 提示:

    常量引用和转换:GlobalConst.ns_statuses[key_or_value]
    内置接口: /interfaces, /mappings, /constants
    

项目引用0.0.x到0.1.x升级帮助(仅需四步,5~10分钟,绝对无痛哦!)

  • 获取最新版本: gem install ns_service_pack

  • rails项目根目录下: nsp install && bundle install(此步检查下Gemfile,确保引用最新,或gem ‘ns_service_pack’, ‘~>0.1’)

  • 相关Models中明确引用: include Ns::FieldMapping

  • ApplicationController或!子类!中添加引用: include Ns::ControllerServicable

# 验证是否成功?

  • 访问: service_post:port/, 非生产环境会重定向到/interfaces, 点击示例中的链接(动态生成)

# 相关背景

  • 已停止支持 nclient gem, 相关功能会融合在nsp中

  • 扩展为rails的engine,包含自己的生成器等

  • 以后有时间时,可以开发内部接口测试和性能监控平台,进行有效的集中管理和共有问题处理;对数据库层进行更好的封装

问题和反馈

版本历史

ref: CHANGELOG

Copyright © 2011 caory and ns. Please let me know in advance if you plan to refer this codebase. Thanks!