加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

搭建最简webservice,ruby+WEBrick+rack+grape

发布时间:2020-12-16 23:49:31 所属栏目:安全 来源:网络整理
导读:因为一直做得是ios,客户端,对于服务器没什么太多概念。这次搭个服务器好费劲。 之前断断续续看过一点rails,这两天想写个app,又想写些api。但是感觉rails好烦,需要做很多事情才能出一个resource。所以我搜索了下,有没有办法能方便rails写restful的api。

因为一直做得是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 教程,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读