問題タブ [eve]
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.
python - POST操作でpython-eveがルックアップパラメータを削除する理由は何ですか?
POST やその他の変更方法でクエリ パラメータを利用したいと考えています。これは、通常のクエリ パラメータ、または変数を含む URL ルールによって抽出されたパラメータに適用できます。しかし、Eve が POST 呼び出し用にこれらのパラメータを具体的に削除していることに気付きました。それらを保存するために必要な変更を簡単に行うことができますが、それらは意図的に削除されているため、それらを使用することの欠点があるかどうか疑問に思っています. この設計上の決定の理由は何ですか?
ユースケースの例
おそらく、誰かがこのようなクエリ パラメーターを使用したいと思うのはなぜかという疑問があるでしょう。私が考えている API は、POST および DELETE 呼び出しでクエリ パラメーターを使用します。これが便利な理由の 1 つの例は、ユーザーが呼び出しの検証と実際の動作を変更できるようにすることです。少し不自然な例を挙げると:
もう一つの例:
もう一つの例:
編集済み
request.args を使用して変数ルールを取得しようとしましたが、うまくいかないようです。(この方法でクエリ引数を取得することは可能ですが、変数ルールも同様に機能することを望みます。)
コードが on_pre_POST フックに入ると、request.args は空になります。endpoints.collection_endpoint()
スタックをたどると、関数lookup
に含まれていることがわかりますが、呼び出し{'row':1}
には渡されません。post(response)
意味があれば、これを修正するためにプル リクエストを送信できます。
編集済み 2
request.view_args
これらのパラメータはではなくで使用できることがわかりましたrequest.args
。これは、コードを変更することなく、フラスコ/イブのどこからでも両方の種類のパラメーターにアクセスできることを意味します。
python-3.x - 異なる名前とスキーマを使用して 2 つのエンドポイントを Eve とマージする
これは私のsettings.pyの簡易版です:
エンドポイントへの POST リクエストでユーザーが作成された後、/accounts
ユーザーの情報は GET で取得できます/accounts/<id_of_user>
。
異なるスキーマを使用している 2 つのエンドポイントを「マージ」できるかどうかを知りたいので、
を指します
ただし、update_accounts には、たとえば次のスキーマが必要です。
python - Eve で、ユーザーのパスワードを安全に保管するにはどうすればよいでしょうか?
デバッガーを実行ファイルに入れると、ユーザーのパスワードがハッシュされていることがわかりますが、mongo コレクションを見ると、ユーザーのパスワードはプレーン テキストで格納されています。ユーザーのパスワードをハッシュとして保存するにはどうすればよいですか?
ここに私のファイルがあります:
run.py:
settings.py:
python - Eve スキーマの条件付き必須フィールド
最近コミットされた'dependencies': {'attr': 'val'}
サポートを実装しましたが、私のユース ケースでは機能しません。これが私がやりたいことです:
object
でエンドポイントに POST するとschema
、 で失敗し"attr2": "field 'type' is required with values: Foo"
ます。attr1: 'Foo'
依存関係の辞書にある場合にのみ失敗するようにします。
Eveはスキーマで指定されattr2
たデフォルト値を入力している可能性がある1
ため、このエラーがスローされていると思いますが、よくわかりません。
python - EVE でトークン認証をバイパスするカスタム リクエスト
私は EVE フレームワークは初めてですが、すでにフラスコと mongodb の経験があります。トークン認証を使用して、イブレストに基づいた Web アプリを構築したいと考えています。たとえば、ユーザーがフォームに入力したときに電子メールがリアルタイムで存在するかどうかを確認したい場合があります。ユーザー情報はユーザー コレクションにありますが、ユーザー コレクションをトークン認証の下に置きたいです。では、トークンなしでカスタム リクエストを処理するにはどうすればよいでしょうか。フラスコを通して処理する必要がありますか?
多分このようなもの:
ありがとう!
python - Python Eve: 412 前提条件が PATCH で失敗しました
次の関連コードを含む Python Eve アプリケーションがあります。
フィールドが定義されています:
PATCH リクエストを送信しています:
このパッチの直前に送信された GET リクエストの ETag から If-Match を取得しました。app.data.update メソッドが実行され、期待どおりにデータが更新されますが、応答412 PRECONDITION FAILEDが返されます。なんで?200 OKを得るにはどうすればよいですか?
eve - 前夜で承認が使用されている場合、トップレベルのエンドポイントを公開する方法は?
私は python-eve を使用して REST API に取り組んでいます。ドキュメントに記載されているように、デフォルトの TokenAuth クラスのサブクラスで承認を使用します。ただし、/ への GET リクエストは、エラー コード 401 と「適切な資格情報を提供してください」というメッセージで応答します。
/ への GET リクエストで、許可なしで利用可能なリソースのデフォルト リストを返すだけにしたい。
通常のエンドポイントの場合、スキーマの public_methods プロパティに GET を追加するだけですが、/ にはスキーマがありません。どうすれば再びパブリック エンドポイントにできますか?