問題タブ [restful-architecture]
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.
validation - RESTAPIを介したパスワードの検証/変更
RESTAPIを介してユーザーパスワードを変更したい。これは、パスワードを忘れたりリセットしたりする機能ではありませんが、パスワードを変更したいログインユーザーです。
フォームには、現在のパスワード、新しいパスワード、および新しいパスワードの確認が必要です。ただし、ユーザーが入力するときに各フォームフィールドを検証したいと思います。newPassword
これはとconfirmNewPassword
(クライアント側)にとっては些細なことですが、。にとってはそうではありませんcurrentPassword
。現在、を介してUserオブジェクトの更新を実行していますPUT /users/:id
。パスワードパラメータが渡された場合、currentPassword
保存する前にパラメータをチェックして正しいことを確認します。ただし、検証のために、最善のアプローチがわかりません。
私も持っていますPOST /users/validate
-これが最善かどうかはわかりません。email
これにより、作成と更新の両方についてUserオブジェクトが検証されますが、Userオブジェクト( 、、 )username
に属するフィールドのみが検証されますpassword
。currentPassword
これらの1つではありません。これをどのように処理するか疑問に思います。私が考慮したいくつかのこと:
POST /users/check_password
、
POST /users/validate
(そのパラメーターが渡された場合はcurrentPasswordの検証を追加し、currentPasswordがユーザーの既存のパスワードと一致することを確認します)および
POST /users/:id/validate
(既存のユーザーの個別の検証、必須currentPassword
)。
任意の考えやアドバイスをいただければ幸いです。RESTAPIを介してのみ機能を公開する私の最初のアプリケーション。
web-services - サーバー側イベントをトリガーする RESTful な方法
サービス側のイベントをトリガーするための呼び出しを API で行う必要があり、クライアントからの情報 (認証以外) は必要なく、サーバーからは何も返される必要がないという状況があります。これは標準の CRUD/リソース インタラクションにうまく適合しないため、何か間違ったことを行っていることを示す指標としてこれを使用する必要がありますか、またはこれらの条件に対処するための RESTful 設計パターンはありますか?
ruby-on-rails-3 - Rails 3.1 Web サービスのデータ型が正しく渡されない
クライアントから値を受け取ってデータベースの値をインクリメントする Rails RESTful Web サービス アプリケーションがあります。データベースの値は整数ですが、rspec を使用してコードをテストする場合、渡される値は文字列として解釈されます。
Rails 3.1 と Ruby 1.9.2 を使用しています。
rspec スニペットは次のとおりです。
コントローラーのコードは次のとおりです。
xp、sp、cash はデータベースの値であり、Fixnum データ型として検証されています。私が得ているエラーは次のとおりです。
渡されるパラメータが適切なデータ型として渡されることを確認するテストを作成するにはどうすればよいですか?
必要に応じて、さらに多くのコードを含めることができます。前もって感謝します!
api - OAuth を使用した独自の API の使用に関する質問
現在取り組んでいるプロジェクト用に RESTful API を構築しています。次の理由により、メイン アプリケーションで API を使用できるようにしたいと考えています。
- 維持するコードのセットが1つになる
- サードパーティの開発者向けに API を公開することを決定した場合、それは既に完了しています。
- それを消費するモバイルアプリケーションを作成する可能性を開きます
- 私は本当にそれを行う方法を学びたいです
API はサブドメインでホストされhttps://api.example.com
、メインの Web アプリケーションはルート ドメインでホストされますhttps://example.com
。
概念的にはすべてがどのように機能するかを理解していますが、私の主な質問は、認証フローがどのように変化するかということです。通常、サードパーティのアプリは次のようになります。
- からリクエスト トークンを取得します。
https://api.example.com/request_token
- ユーザーをリダイレクトして認証する
https://api.authenticate.com/authorize
- サードパーティのアプリケーションにリダイレクトされる
- からアクセス トークンを取得します。
https://api.example.com/access_token
私は両方のドメインを管理しているので、次のようなことはできますか?
- ユーザーがログイン画面に到達したときにリクエスト トークンを取得します。
https://www.example.com
https://www.example.com
ユーザーは、同じコードを呼び出すフォームを使用して認証しますhttps://api.example.com/authorize
- 認証情報が有効な場合、リクエスト トークンはアクセス トークンと交換されます。
- アクセストークンはセッションに保存され、通常のようにユーザーがログアウトすると期限切れになります
手順 3 はコードが重複するため間違っているように感じますが、技術的に異なるドメインであるためhttps://www.example.com
、データの送信先のログイン フォームである XSS 攻撃にさらされることはありませんか?https://api.example.com
私はこれを過度に複雑にしていますか?
rest - HTTPを使用しないRESTfulフレームワークはありますか?
OK、Representational State Transfer
当初はHTTPのコンテキストで説明されていましたが、そのプロトコルに限定されません。
REST(RPCと対比するため)は、「従来の」RPCメカニズムとは少し異なる概念に従います。一部の人々は、RESTを使用した通信の処理方法はRPCを使用した場合よりも「優れている」と考えています。
さて、私が興味を持っているのは、RESTfulであるが、基盤となる転送メカニズムとしてHTTPに依存していない実際に機能するフレームワークがあるかどうかです。
android - デスクトップ、Android、iOSクライアントを備えたjava-eeアプリケーション
私はJavaエンタープライズとGlassfishを使用してアプリケーションを構築しています。クライアントとサーバー間の情報は通常少量のデータですが、クライアントはより大きなリソースを取得する必要がある場合があります(1〜20 MBが一般的です)。私はまだシステムのアーキテクチャを計画しており、サーバー上のリソースを複数のクライアントに公開する方法についてアドバイスが必要です。
もともと私は、javawsとglassfishによって提供されるACCでデスクトップクライアントアプリを実行するだけでした。リモートインターフェイスを別のjarに配置し、それらのインターフェイスを介して公開されたEJBメソッドを呼び出すことにより、すべてのクライアントサーバーインターフェイスを実行することを計画しました。これはすべて問題なく、Javaデスクトップクライアントにとっては問題ありません。Androidクライアントにとってはかなり簡単なはずです。しかし、iOSにとってはそれほど簡単ではないと思います。
iPhoneまたはiPadで実行されているObjective-cからEJBを呼び出す方法はありますか?きっとそう願っています。
ソリューションがRESTfulWebサービスであることを期待しています。私が理解していることから、これは、一般的なXMLまたはJSON形式でデータを渡すことにより、クライアントアプリケーションとサーバーアプリケーションを緩く結合する方法です。
非常に明白なものが欠けている場合は申し訳ありませんが、ここから2つのルートがあるようです。
私のEJBビジネスインターフェースを維持し、汎用クライアント(iOSおよび後で登場する可能性のあるもの)用に重複したRESTfulインターフェースを実装します。
すべてのクライアントに対して1つのRESTfulインターフェイスを作成します。
2番目のデザインはもっとすっきりしたデザインのように見えますが、それは私がすでに行った作業を破棄して残りについて学ぶ必要があることを意味します。より多くの経験を持つ誰かがいくつかの提案を提供できますか?よろしくお願いします。
spring - セッション共有クラスター環境での Restful Web サービスのユーザー セッション管理
Spring-JPA バックエンドと Restful Web サービスを使用してコントロール サーバー アプリケーションをセットアップし、バックエンド メソッドを公開しようとしています。ユーザー セッションと認証/承認は、バックエンド コントロール サーバーを介して処理する必要があります。アプリケーション全体は、ユーザー セッション レプリケーションを使用してクラスター化された環境でセットアップする必要があります。
Restful Web サービスはステートレスであるため、セッションを保存するためにどのメカニズムを使用すればよいかわかりません。ユーザー セッションごとに一意のセッション トークンを生成し、セッション トークンとユーザー属性マップをキーと値のペアとして保存します。
セッションのレプリケーションができないため、静的マップと ServletContext を使用してユーザー セッションを保存できません。
1 つの代替方法は、ユーザー セッションをデータベースに格納することです。
これが可能な他の方法があれば、私に提案してください。
ありがとう、ハリ
apache - 古いサイト構造と新しいサイト構造を組み合わせる
以下を実装したいと思います。
- 新しいディレクトリ パス、新しい PHP フレームワーク、DB 構造などに基づく新しいサイト構造。このサイトは、http://www.mysite.comでアクセスできる必要があります。
- 古い構造の一部のページは引き続き機能するはずです。古いサイト構造が利用可能で、古いフォルダーにとどまる必要があります。
/var/www/myoldsite
- 一般的に言えば、http://www.mysite.com/specificpage.phpなどの特定のページを呼び出すときは、古いサイトを呼び出す必要があります。それ以外の場合は、新しいサイトのページのみを利用できます。
それをどのように設計すればよいですか?Apacheの仮想ホストで?それとも.htaccess
ファイルに?
rest - この REST API のパラメータ値はどこにあるべきですか? またその理由は?
次の REST API があります。
API は、ユーザー Martin が何か言いたいことをユーザーのリストに通知すると想定されています。通知されるユーザーのリストは、1 人から 1,000 人までさまざまです。1,000 人のユーザーのリストはどこにあるべきか: クエリ文字列、HTTP ヘッダー、またはリクエスト本文? なんで?
html - base64_encode の src を使用したビデオ タグ html5 が、別のデバイスやブラウザでは機能しない
私はこのコードを試します。
ノートブック(サファリ、ファイアフォックス)でプレイするときは機能しますが、IPAD2(サファリ)またはサムスンギャラクシー(オペラ)でプレイするときは機能しません。問題は
なぜなら、私が置き換えるとき
すべてのデバイスとブラウザで動作します。私はbase64_encode(trim(file_get_contents('kecak.mp4')))を使用する必要があります。これは、実際の私の場合、HTTP 経由でビデオを配信するための RESTFul からの応答から来ているためです。base64_encode(trim(file_get_contents('kecak.mp4'))) と同じ http からの文字列応答。助けてくれてありがとう:-)