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

ruby-on-rails – 使用Grape(或Sinatra)实现超媒体驱动的API

发布时间:2020-12-17 02:03:04 所属栏目:百科 来源:网络整理
导读:我正在尝试使用直接安装在Rack上的 Grape来实现一个超媒体驱动的API. Grape支持演示者(“实体”) 似乎是提供所有相关超媒体的适当场所. 如果我有可用的Rails路由器,我可以通过它的耳朵简单地选择路由并将其扔进我的演示者逻辑中.例如(ROAR方法): link :self
我正在尝试使用直接安装在Rack上的 Grape来实现一个超媒体驱动的API. Grape支持演示者(“实体”)
似乎是提供所有相关超媒体的适当场所.

如果我有可用的Rails路由器,我可以通过它的耳朵简单地选择路由并将其扔进我的演示者逻辑中.例如(ROAR方法):

link :self do
  article_url(self)
end

但是Grape本身并不提供对路径的轻松访问,因为它们没有类似于article_url的名称或别名.

有没有人遇到过与Grape或Sinatra类似的问题?是否有一种简洁的方式来公开资源链接?

解决方法

这是可能的,但不像Rails url助手那么简单.

从https://github.com/intridea/grape#describing-and-inspecting-an-api开始:

TwitterAPI::versions # yields [ 'v1','v2' ]
TwitterAPI::routes # yields an array of Grape::Route objects
TwitterAPI::routes[0].route_version # yields 'v1'
TwitterAPI::routes[0].route_description # etc.

(编辑:李大同)

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

    推荐文章
      热点阅读