搭建最简webservice,ruby+WEBrick+rack+grape
因为一直做得是ios,客户端,对于服务器没什么太多概念。这次搭个服务器好费劲。 之前断断续续看过一点rails,这两天想写个app,又想写些api。但是感觉rails好烦,需要做很多事情才能出一个resource。所以我搜索了下,有没有办法能方便rails写restful的api。结果,rails写restful没看到,倒是看到了其他。 1、rails的路由解析效率很低。http://robbinfan.com/blog/40/ruby-off-rails ?csdn robin的文章。分析了各种方式的效率。rails好慢。。。but ruby并不慢,使用eventio方式cramp甚至比node.js更快。这个文章可以关注的还有多线程,纤程,event io几种方式。好了,这个不是重点。结论是,假如光做webservice的服务器,rails框架不合适,rails适合普通的web站点。所以需要找个其他的框架。 2、ruby的grape写api很方便。http://robbinfan.com/blog/45/ruby-framework-benchmark ?虽然这个文章是写性能的,但是里面提到,假如单写api,用grape更方便。 到此,决定使用grape,于是找到官方文档,打算继承一个试试。https://github.com/intridea/grape resource :state do desc "Return a pong." get :ping do "pong" end end貌似确实写起来很简单。 but,我要怎么运行这家伙? 以前一直是完全使用rails,不清楚怎么起得服务器。。。这下抓瞎了。 --------昏哥线-------- 省略搜索 --------昏哥线2------ 总算弄明白,最简单的,可以启一个WEBrick服务器,然后使用rack启动。 if $0 == __FILE__ require 'rack' Rack::Handler::WEBrick.run MeetingAPI end 放到api文件末尾,ruby执行一下 或者配置config.ru require './meeting_api' run MeetingAPI 然后rackup一下。 rackup其实就是调用了前面的run 然后其余的配置,是通过rack:server.start传入的。 哦了,这个项目只有两个文件,木有乱七八糟其他我不懂的东西,很简单。哈哈哈 其余参考: 1、https://github.com/dblock/grape-on-rack,grape-on-rack,里面还有布置grape到heroku上去。 2、https://github.com/rack/rack/wiki/Tutorials ? rack 教程, (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |