ns_service_pack
实现REST架构(ROA)中Service层基础代码抽取
功能列表
- 支持自定义json格式的资源crud操作
- 提供全局字典常量/转换管理
- 提供数据库层-业务层字段自动转换
- 宿主应用的发布接口管理和测试
TODO LIST
- 将源码共享到本地svn上
- REST接口测试平台开发 如何用get请求模拟post请求?
- 规划文档和内容调整
- 写完整测试
- index默认查询条件加入,传入条件的merge(目前已提供传入条件的精确搜索)
- 接口可见性优化,发布出来的接口加上前缀/ns/interfaces ?
使用指南
-
在rails3项目中使用,命令行执行:
gem install ns_service_packnsp installbundle install -
为某资源生成有service支持的scaffold,命令行:
rake g ns:scaffold -
提示: 常量引用和转换:GlobalConst.ns_statuses 内置接口: /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
验证是否成功?
- 访问: http://service_post:port/, 非生产环境会重定向到/interfaces, 点击示例中的链接(动态生成)
相关背景
- 已停止支持 nclient gem, 相关功能会融合在nsp中
- 扩展为rails的engine,包含自己的生成器等
- 以后有时间时,可以开发内部接口测试和性能监控平台,进行有效的集中管理和共有问题处理;对数据库层进行更好的封装
问题和反馈
版本历史
ref: CHANGELOG
Copyright
Copyright (c) 2011 caory and ns. Please let me know in advance if you plan to refer this codebase. Thanks!