問題タブ [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.

0 投票する
1 に答える
281 参照

ruby - グレープ API を使用して PostgreSQL の複数のテーブルにデータを挿入しますか?

これは、投稿された JSON データを単一のテーブルに挿入する私のブドウ API Ruby コードです。

グレープ API を使用して複数のテーブルにデータを挿入するにはどうすればよいですか? 私はPostgreSQLを使用しています。

0 投票する
1 に答える
1695 参照

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を読み込めないという明らかな例外です。なんで?

0 投票する
2 に答える
5047 参照

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動作するはずです:)

0 投票する
3 に答える
4099 参照

ruby - {ぶどう}認可

ruby で安らかな json api を作成しようとしているので、Rack 内でグレープ ( https://github.com/intridea/grape ) を使用しています。私はこのプロジェクトに Rails を使用していないので、cancan や sorcery などは最適な選択肢ではないようです。さらに、グレープの宣言型 DSL に一連の命令型ロジックを混ぜるのは嫌いです。

グレープには認証サポートが組み込まれていますが、承認については何もわかりません。これは、この道が以前に通ったことのある十分に一般的な使用例のようですが、Google とブドウのコードベース自体をかなり徹底的に掘り下げた後、何も見つかりませんでした。

ブドウのプロジェクトにこのようなものを実装した人はいますか? 何を使いましたか?

0 投票する
1 に答える
6378 参照

http - 本文のない4xxエラーのContent-Typeはどうあるべきですか?

次の応答を受け取るHTTPリクエストについて考えてみます。

このようなコンテンツタイプはどうあるべきですか?

  • 何も設定しませんか?
  • 設定されていません?
  • text/plainまたはに設定text/html
0 投票する
1 に答える
5639 参照

ruby - Sinatra と Grape API を一緒に?

私はいろいろ読んでいて、 Grape for ruby​​ と呼ばれるこのマイクロフレームワークを見つけました。私は現在Sinatraを使用して Web インターフェイスを処理していますが、Grape を実装してアプリの API の側面を処理したいと考えています。このトピックに関する有益な提案が見つかりません。グレープのドキュメントには、「グレープは Ruby 用の REST に似た API マイクロ フレームワークです。RESTful API を簡単に開発するためのシンプルな DSL を提供することで、Rack で実行するか、Rails や Sinatra などの既存の Web アプリケーション フレームワークを補完するように設計されています。」では、両方を組み合わせる公式の方法があるはずですよね?このアプリは Heroku でも実行されます。

0 投票する
1 に答える
3065 参照

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ようになります。

何か案は?

0 投票する
1 に答える
1697 参照

ruby - Grape API と HTTP ダイジェスト認証

HTTP ダイジェスト認証に基づいてユーザーを認証する Ruby アプリケーション用の API の作成に取り組んでいます。Ruby で API をきれいに作成できるので、Grape API ライブラリを使用することにしました。Grape のドキュメントには、次のようなダイジェスト認証を使用できると記載されています。

上記の Grape の実装は、Rack::Auth::Digest::MD5

また、セキュリティのために、RFC 2617 の時点で、データベースにパスワードをプレーン テキストとして保存する必要がないことを読みました。ユーザー名: レルム: パスワードの MD5 ダイジェストを保存し、それに対して認証するので、DataMapper モデルを作成しました。

私が提供したもので、これら2つを接続して機能させる方法がわかりません。

0 投票する
3 に答える
4080 参照

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 クラスを定義しているので、これはわかりません。どんな助けでも大歓迎です。

0 投票する
2 に答える
7034 参照

ruby-on-rails - GRAPE API を使用してバイナリ ファイルのダウンロードを許可する方法

Ruby の Grape API を使用してバイナリ ファイル (.p12 ファイル) をダウンロードできるようにしたい。これが私が試みていることです。

ActionController を使用した同等のコードは次のとおりです。

問題は、API を使用してダウンロードしたファイルは、すべての文字に「\ufffd」プレフィックスが埋め込まれたテキスト ファイルのように見えるのに対し、ブラウザを使用してダウンロードしたファイルはバイナリ ファイルのように見えることです。GRAPE API フレームワークを使用して、ActionController の send_data 経由でダウンロードされるのと同じファイルをダウンロードできるようにする方法