問題タブ [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.
sinatra - open-uri は複数のラック アプリケーションで使用できますか?
現在、私はSinatra WebアプリとGrape APIを持っています.Webアプリが別のAPIコンシューマーになるようにSinatraアプリを実装するという考えです。
私のconfig.ruにはこれがあります:
API
グレープアプリApplication
であり、シナトラアプリです。open-uri を使用して、Sinatra ルートで Grape API から JSON を取得しようとしています。薄く使っています。読みやすくするために、ポート番号の後の /uri を省略しています。Grape と Sinatra のアプリは独立して動作します。後で詳しく説明します。
open("http://localhost")
戻り値:
ただし、open("http://localhost:9292")
アプリケーションがハングします。何かが I/O をブロックしているように感じます。たとえば、自分自身が自分自身に接続するのを待っているのかもしれませんが、ボンネットの下で何が起こっているのかを本当に確認するのに十分ではありません。
私がそれをポイントすると、それをproject.dev
スピンアップしてからスピンアップするrackup
ので、使用できる2つのインスタンスがopen("http://project.dev/what/ever/url/i_need")
あり、魅力のように機能します. つまり、問題は open-uri 自体を指すことにどこかにあるようです...私は思う...
これはのせいRack::Cascade
ですか?これは問題thin
ですか?または多分とopen-uri
?これは、この問題にアプローチする完全に間違った方法ですか?
私はほぼすべてのソリューションにオープンですが、このパターンを頻繁に使用するつもりであるため、外部要件を最小限に抑えて、できるだけシンプルに保ちたいと考えています。
追加情報が必要な場合はお知らせください。提供できるよう最善を尽くします。
ruby-on-rails - Rails 4 とグレープ - API ファイルを分割するときの未定義のメソッド「call」
私はバニラ レール 4 アプリケーションを持っていて、バージョン管理された Grape API を追加しようとしています。Rails サーバーは正常に起動しますが、API URL ( http://localhost:3000/v1/user/ping
) にアクセスしようとすると、次のエラーが表示されます。
これまでのところ、セットアップした API は非常にシンプルですが、なぜ機能しないのかわかりません
ルート/アプリ/api/api.rb:
バージョン フォルダー内に、API のバージョンがサポートするすべてのクラスを配置したいと考えています: root/app/api/v1/user.rb:
ルート/構成/ルート:
ruby-on-rails - rails - バージョン管理されたAPIのクラスを呼び出すグレープAPIエラー
バージョン管理された api(rails-grape) のバージョン固有のクラスを呼び出そうとしていますが、エラーが発生します
私のディレクトリ構造
api.rb には「v1/base.rb」が必要です 「v2/base.rb」が必要です
v1/base.rb で、このバージョンの API のクラスにアクセスします
V1::XMLResponses::電話帳::getall()
このエラーが発生する理由を教えてください。
ご回答いただきありがとうございます。https://github.com/Asmmund/grape_versioningの方法を示す簡単なアプリを作成しました。
ruby-on-rails - レールでグレープ API を使用して HTML を生成する
API の 1 つから HTML マークアップを生成/吐き出す必要があるという要件があります。グレープ API を使用していますが、HTML マークアップを破棄する方法が見つかりません。content-type を text/html として指定して HTML マークアップを作成できますが、以下のようなテンプレートをレンダリングするなど、これを実現するためのより良い方法はありますか?
'my_template' (HTML) は、ページがどのように見えるかを処理できますか? render は GrapeAPI の未定義のメソッドなので、他に何を使用できるかわかりませんか?
ruby-on-rails - グレープ API レール アプリケーションでリモート IP (リクエスター) を取得する方法
アプリケーション内のいくつかの API のエンドポイントとして動作するグレープ ジェムを備えた作業中の Rails アプリケーションがあります。リクエスタのリモート IP を取得し、応答で返す必要があります。私は通常のコントローラーでそれを行うことができました
ただし、グレープ呼び出しでは、「リクエスト」は定義済みの変数ではありません。
グレープのリモート IP にアクセスするにはどうすればよいですか?
ruby - Grape API を使用して JavaScript を生成しますか?
私は Grape フレームワークを使用してデータを取得していますが、これはうまく機能しています。また、API を使用して JavaScript ファイルを取得したいと考えています。例えば:
http://someapi.com/dni_js/dni.jsが API を呼び出しています。
これを達成するための最良の方法は何ですか?
ruby-on-rails - Rails Grape API バージョン管理モジュール構造
ここで行ったのとほぼ同じように、API のバージョン管理を実装しようとしています。V1 is not a module /app/api/v1/xml_responses/device.rb:3:in '<module:API>'
しかし、ディレクトリ構造のようなエラーメッセージが表示されるため、レールアプリでモジュール/フォルダー構造を正しく取得していないようです
api.rb
v1/base.rb
V1/xml_responses/device.rb
Routes.rb
私は自分が間違っていることを理解できません!手伝っていただけませんか?
ruby-on-rails-3.2 - 1 つの名前空間モデルをグレープエンティティで提示する方法は?
次のような名前空間モデルが 1 つあります。
そして、次のように 1 つのエンティティを定義します。
モデルを提示するとエラーが発生します:
エラー:
app/models/message/notification.rb:1:in `': クラス通知のスーパークラスの不一致 (TypeError)
ruby-on-rails - Grape API へのリクエストのパラメータをフィルタリングすることはできますか?
Grape API リクエストでパラメーターの検証を設定した場合、検証済みのパラメーターのみのハッシュを取得できますか?
params
パラメータ検証ブロックにリストされているものに限定する別の方法はありますか? Railsのstrong_parametersの仕組みに似ています。