61得票4回答
`try` 和 `&.`(安全导航操作符)在 Ruby 中有什么区别?

这是我的代码:class Order < Grape::Entity expose :id { |order, options| order.id.obfuscate } expose :time_left_to_review do |order, options| by...

19得票1回答
一个没有响应体的4xx错误应该使用什么Content-Type?

考虑一个发出 HTTP 请求并收到以下响应的情况: 405 Method Not Allowed Content-Length: 0 这种情况下的内容类型应该是什么? 设置为空? 不设置? 设置为text/plain或text/html

14得票2回答
如何在Grape API应用程序中拆分内容?

在我看到的每个例子中,人们都只实现一个巨大的api.rb文件。例如: intridea/grape bloudraak/grape-sample-blog-api djones/grape-goliath-example 虽然这种方法很好用,但很快就会变得拥挤和难以维护,所以我想在我的...

12得票3回答
{葡萄} 授权

我正试图使用Ruby创建一个基于Restful的JSON API,因此我在Rack中使用了Grape (https://github.com/intridea/grape)。 在这个项目中,我没有使用Rails,所以cancan、sorcery等等似乎不是最佳选项。此外,我不想将大量的命令式逻...

11得票6回答
在Grape / Rack :: Mount :: Route中访问已编译的路由

我想生成一个列表,列出我的Grape::API子类(MyApi)生成的所有路由。 我可以通过调用以下代码来接近目标:MyApi.send(:route_set).instance_variable_get(:@routes) 这会给我一个Rack::Mount::Route对象数组。 Ro...

10得票3回答
如何在Grape中处理特定操作的前置过滤器?

我正在我的Rails项目中使用Grape来构建RESTful API。 现在有些端点需要身份验证,而其他一些不需要身份验证。 例如,我有一个名为users的端点,看起来像这样:module Backend module V1 class Users < Grape::AP...

10得票2回答
如何使用GRAPE API允许二进制文件下载

我想在Ruby的Grape API中允许下载二进制文件(.p12文件),以下是我的尝试:get '/download_file' do pkcs12 = generate_pkcsfile content_type('application/octet-stream') body...

10得票1回答
在Kubernetes中的Rails应用程序中,Nginx Ingress出现了“Mixed Content”错误

使用Nginx Ingress负载均衡器在GCP中部署Portus。Portus可以正常加载,但是在尝试使用应用程序并填写一些表格时,会出现以下错误: VM798:1 混合内容:页面“https://staging.foo.bar/admin/registries/new”通过HTTPS加...

9得票2回答
如何在Grape-API Rails应用程序中获取远程IP(请求方)

我有一个正常运行的Rails应用程序,Grape gem作为应用程序中一些API的端点。 我需要获取请求方的远程IP地址,并在响应中返回它。 我可以在常规控制器上使用如下代码来实现: request.remote_ip 然而,在葡萄调用中,“请求”不是一个定义好的变量。 我如何在葡萄中...

9得票1回答
Sinatra和Grape API可以一起使用吗?

我一直在阅读,发现了一个名为Grape的微型框架,用于Ruby编程。目前我正在使用Sinatra来处理Web界面,但我也想实现Grape来处理应用程序的API方面。我找不到任何有用的建议来解决这个问题。Grape文档说:“Grape是一个REST类似的API微框架,用于Ruby编程。它旨在在R...