問題タブ [grape-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - グレープ API を使用して PostgreSQL の複数のテーブルにデータを挿入しますか?
これは、投稿された JSON データを単一のテーブルに挿入する私のブドウ API Ruby コードです。
グレープ API を使用して複数のテーブルにデータを挿入するにはどうすればよいですか? 私はPostgreSQLを使用しています。
ruby-on-rails - Rails 3.2.11 & Grape はこのようなファイルを作成できません: app/api/v1.rb
Rails 3.2.11 アプリで Grape API を実行しようとしています。ブドウのドキュメントによると、次の行を config/application.rb に追加する必要があります。
そして、以下のコードで config/initializers/reload_api.rb を作成します:
しかし、それは私にとってはうまくいきません。これが私のコードです。私の app/api/v1.rb では:
そして私のconfig/routes.rb:
実行するrake routes
と、次のエラーが表示されます。
RailsがAPIを読み込めないという明らかな例外です。なんで?
ruby-on-rails-3 - ブドウのAPIアプリで物事を分割する方法は?
私が見るすべての例で、人々は巨大な api.rb ファイルを 1 つしか実装していません。元:
このアプローチはそのままでも問題なく機能しますが、すぐに混雑して維持が困難になる可能性があるため、アプリで分割したいと考えています。
たとえば、エンティティをリソースから分割してから、リソースを異なるファイルに分割したいと考えています。例えば:
api.rbは次のようになります。
app/api/entities/post.rbは次のようになります。
app/api/resources/post.rbは次のようになります。
これを行うと、次のメッセージが表示されます。
/blog-app/api/resources/post.rb で Post を定義する必要があります
解決策 (dB. と同僚に感謝)
構造を次のように変更する必要があります。
次に、post_api.rbで
最後に、api.rbは次のようになります。
今すぐ/api/v1/posts
動作するはずです:)
ruby - {ぶどう}認可
ruby で安らかな json api を作成しようとしているので、Rack 内でグレープ ( https://github.com/intridea/grape ) を使用しています。私はこのプロジェクトに Rails を使用していないので、cancan や sorcery などは最適な選択肢ではないようです。さらに、グレープの宣言型 DSL に一連の命令型ロジックを混ぜるのは嫌いです。
グレープには認証サポートが組み込まれていますが、承認については何もわかりません。これは、この道が以前に通ったことのある十分に一般的な使用例のようですが、Google とブドウのコードベース自体をかなり徹底的に掘り下げた後、何も見つかりませんでした。
ブドウのプロジェクトにこのようなものを実装した人はいますか? 何を使いましたか?
http - 本文のない4xxエラーのContent-Typeはどうあるべきですか?
次の応答を受け取るHTTPリクエストについて考えてみます。
このようなコンテンツタイプはどうあるべきですか?
- 何も設定しませんか?
- 設定されていません?
text/plain
またはに設定text/html
ruby - Sinatra と Grape API を一緒に?
私はいろいろ読んでいて、 Grape for ruby と呼ばれるこのマイクロフレームワークを見つけました。私は現在Sinatraを使用して Web インターフェイスを処理していますが、Grape を実装してアプリの API の側面を処理したいと考えています。このトピックに関する有益な提案が見つかりません。グレープのドキュメントには、「グレープは Ruby 用の REST に似た API マイクロ フレームワークです。RESTful API を簡単に開発するためのシンプルな DSL を提供することで、Rack で実行するか、Rails や Sinatra などの既存の Web アプリケーション フレームワークを補完するように設計されています。」では、両方を組み合わせる公式の方法があるはずですよね?このアプリは Heroku でも実行されます。
ruby-on-rails - Grape で Rails ApplicationHelper を使用する
application_helper.rb で定義されたメソッドがあります。
また、Grape を使用して API を作成しています。これは、Rails アプリの外部にある独自のモジュールにあります。
Grape は Rack アプリなので、Rails モジュールへの通常のアクセスはありません。API メソッドの 1 つで「bayarea_cities」メソッドを呼び出そうとすると、未定義の変数またはメソッド エラーが発生します。「include ApplicationHelper」で ApplicationHelper モジュールをインクルードしようとしましたが、うまくいきませんでした。
APIクラス内でこれにアクセスするにはどうすればよいですか?
アップデート:
Deefourさん、更新ありがとうございます。ヘルパー モジュールに追加extend self
し、メソッドを (モジュール メソッドではなく) インスタンス/ミックスイン メソッドとして参照しましたが、それでも同じエラーが発生します。私の lib/helpers.rb ファイルには次のものがあります。
私のAPIファイルには次のものがあります:
もちろん、 config/initializers/helpers.rb ファイルがあります。require "helpers"
しかし、たとえば にアクセスして US states API メソッドを呼び出すと、次のhttp://localhost:5000/api/states
ようになります。
何か案は?
ruby - Grape API と HTTP ダイジェスト認証
HTTP ダイジェスト認証に基づいてユーザーを認証する Ruby アプリケーション用の API の作成に取り組んでいます。Ruby で API をきれいに作成できるので、Grape API ライブラリを使用することにしました。Grape のドキュメントには、次のようなダイジェスト認証を使用できると記載されています。
上記の Grape の実装は、Rack::Auth::Digest::MD5
また、セキュリティのために、RFC 2617 の時点で、データベースにパスワードをプレーン テキストとして保存する必要がないことを読みました。ユーザー名: レルム: パスワードの MD5 ダイジェストを保存し、それに対して認証するので、DataMapper モデルを作成しました。
私が提供したもので、これら2つを接続して機能させる方法がわかりません。
ruby-on-rails - Rails に複数の Grape API をマウントする際の問題
Rails アプリにマウントしようとしている 2 つの API があります。1 つは「v1」と呼ばれ、もう 1 つは「twilio」と呼ばれます。各 API は複数のファイルで構成されるため、それぞれに独自のフォルダーが必要です。app/api ディレクトリ内には、'v1' と 'twilio' という 2 つのフォルダーと、2 つの API をマウントするために使用しようとしている 'api.rb' というファイルがあります。その内容は次のとおりです。
「v1」ディレクトリには、次のように始まる「root.rb」というファイルがあります。
「twilio」ディレクトリには、次のように始まる「twilio_api.rb」というファイルがあります。
私のルートファイルには次のものがあります:
Rails サーバーを起動すると、次のエラーが表示されます。
root.rb は確かに Root クラスを定義しているので、これはわかりません。どんな助けでも大歓迎です。
ruby-on-rails - GRAPE API を使用してバイナリ ファイルのダウンロードを許可する方法
Ruby の Grape API を使用してバイナリ ファイル (.p12 ファイル) をダウンロードできるようにしたい。これが私が試みていることです。
ActionController を使用した同等のコードは次のとおりです。
問題は、API を使用してダウンロードしたファイルは、すべての文字に「\ufffd」プレフィックスが埋め込まれたテキスト ファイルのように見えるのに対し、ブラウザを使用してダウンロードしたファイルはバイナリ ファイルのように見えることです。GRAPE API フレームワークを使用して、ActionController の send_data 経由でダウンロードされるのと同じファイルをダウンロードできるようにする方法