問題タブ [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 投票する
2 に答える
1540 参照

ruby - POST、PUT などの複数のルートに対して同じ要件を記述する方法は? (ルビーグレープ)

コードの重複を避けるにはどうすればよいですか?

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

ruby - Grape API (Rails 以外) を別のファイルに分割する

私は Grape で API を書いていますが、それは独立しており、Rails や Sinatra などはありません。app.rbファイルを別々のファイルに分割したいと思います。私はブドウのAPIアプリで物事を分割する方法を見てきましたか? 、しかしそれは Rails の場合です。

モジュールまたはクラスでこれを機能させる方法がわかりません — さまざまなファイルを bigGrapeAppにサブクラス化しようとしましたが、それは醜く、正しく機能するかどうかさえわかりません。これを行う最善の方法は何ですか?

現在、フォルダー ( 、 など) で分割されたバージョンがありますv1v2、それだけです。

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

ruby-on-rails - Grape API を使用してクライアントにファイルを送信する

ファイルのアップロードにcarrierwaveを使用するレールアプリケーションを実行しています。Grape API を使用して既存のファイルをクライアントに送信するにはどうすればよいですか? ファイルがディレクトリ「public/uploads/datafile/1/file.txt」にあると仮定しましょう。

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

ruby - Ruby Grape: json 出力がエスケープされる

私はRuby/Grapeのサンプルに取り組んでおり、jsonがエスケープされて提供されることを除いてすべてが機能します。私はルビーとそのフレームワーク(わずか3日)の初心者です。この質問が改善されている場合は申し訳ありませんが、事前に感謝します

引用符をエスケープするべきではないと確信していますが、エスケープされた出力は次のとおりです。

私のコード

config.ru

$:.unshift "./app"

「sentimentapi_v1.rb」が必要です

SentimentApiV1 を実行する

パッケージとバージョン

Ruby 2.0、グレープ.5、Windows 8 64ビットを実行しています

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

ruby-on-rails - ビューからグレープ API を文字列にレンダリングする

Rails 4 アプリでGrape ベースの APIをセットアップしました。API呼び出しの1つによって生成されたjsonをインラインタグのビューにレンダリングしたい-特に、JSONデータをangularjsビューで利用できるようにして、ページの読み込み後にサーバーへの(JSON API)呼び出しを回避したい.

Grape API を string にレンダリングする方法はありますか?

/app/api/api.rb

ビュー/ダッシュボード/index.html.erb

get http リクエストを使用してレンダリングすることもできますが、http 呼び出しのオーバーヘッドを回避したいと考えています。むしろ、API クラスを直接呼び出します。

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

ruby - Rack アプリで CORS と Warden を使用する (Grape API)

クロスオリジンリクエストを許可するためにrack-corsを使用し、認証のためにWardenを使用して、ラックアプリケーションとして実行されているブドウベースのAPIがあります。CORS は期待どおりに動作しますが、呼び出す場合は動作しませんenv['warden'].authenticate。これらの場合、「オリジンが許可されていません」という応答が返されます。

これはミドルウェアの順序によるものだと思いますが、私はラック アプリケーションに比較的慣れていません。ミドルウェアの順序を強制することにより、Railsでこれを機能させる方法の例で同様の問題を説明する情報を見つけましconfig.middleware.insert_before Warden::Manager, Rack::Cors do ...たが、Rails以外の同等のものは知りません。

以下は、 my の簡略化された概算ですconfig.ru

ディレクティブの順序を入れ替えてみましたuseが、いずれにしても、warden を使用するメソッドから同じ「オリジンが許可されていません」という応答が返されます。私の問題の一部は、ラック アプリケーションでのミドルウェアの順序を決定するものが明確でないことです。

ミドルウェアの順序がこの問題を引き起こしているという私の予感は実現可能ですか? 根本的な何かが欠けているようです。Rack-cors と Warden がうまくプレイできるようにするか、CORS を許可する別の解決策を見つけたいと思います。Access-Control-Allow-Origin ヘッダーを明示的に送信しようとしましたが、Warden もそれを一掃しているようです。

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

ruby-on-rails - グレープ API は PUT/POST パラメータを無視します

Railsアプリ用のグレープAPIを構築しています。rspecリクエスト仕様でテストしています。次のような投稿ルートを作成するときに問題が発生しました。

対応する仕様:

ブドウの「コントローラ」は、URL の一部として送信されないパラメータを認識できません。params[:tickets_ids] を出力すると nil になります。get リクエストを使用する場合、この問題は発生しません。curl を使用して手動でリクエストを送信すると、問題を再現できます。ネストされたリソースのルーティングも、最上位のルートと同じように動作するため問題になりません。

github で次の問題を発見しましたが、指定されたモンキー パッチを適用しても機能せず、起動時にサーバーが壊れます。 https://github.com/intridea/grape/issues/417

次のバージョンの gem を使用していますが、依存関係の競合によりアップグレードできません。

どんな助けやヒントも大歓迎です。

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

strong-parameters - Rails以外のアプリケーションでRails 4.0の強力なパラメータを使用する

グレープ API アプリケーションでアクティブ レコード 4.0 を使用していますが、強力なパラメーターは Rails コントローラーでのみ機能するため、グレープ API クラスでパラメーターを許可するにはどうすればよいですか?