2

私は REST の初心者であり、具体的にはBAAS Kinveyと Javascript を使用して使用する方法を理解するのに多くの問題を抱えています。私はかなりの時間をかけて REST の使用方法を学ぼうとしました (ところで、REST を見つけるのは驚くほど困難です)。私が見つけた最良のリソースは、このIBM paperです。

Kinvey の Web サイトを見ると、この「ガイド」が見つかりましたが、役に立ちません。それは、私が REST サービスを利用した経験があることを前提としているからだと思います。ガイドは詳細を提供しますが、コンテキストは提供しません。(これこの種のヘルプですが、それは単なる断片です)。

繰り返しになりますが、SO に関するさまざまな質問 (ここここここここここ) がありますが、それらはすべて非常に具体的または非常に一般的なものです。

私が見たいのは、次のようなものです。

  1. 作成する [javascript] オブジェクトの種類 (例: XMLHttpRequest?)
  2. URL リクエストの作成方法 (クエリの作成)。
  3. リクエストの各部分が、対象とするアプリケーション (バックエンド) とどのように関連しているか。
  4. 私の資格情報がどのように/どこで/適合するか.
  5. 応答の処理方法。

繰り返しになりますが、Kinvey サイトのガイドは私のことを想定しすぎており、ハンドシェイクやエンドポイントについては知りません (確かに Google で調べましたが、文脈がなければ、Kinvey でどのように動作するかを関連付けるのは困難です)。

Kinvey の「これを試してください」という部分もわかりにくいです。それは何をしていて、アプリケーションを変更すると壊れるのですか?また、なぜ/どのようにアカウントに接続されているのですか? 繰り返しますが、これは断片を示しており、完全な例ではありません。

ライブの例を示す単純な 15 ~ 20 行の要点があると思います。または、少なくとも、具体的にドロップする場所が明示的に説明されている例です。

実際の例を見ると、すべてを理解できます。必要なのは、それを端から端まで示す完全な例だけです。

補足: 私は Angularjs を使用しています。ただし、これを JS で手動で行う方法を知りたいので、戻って Angular がそれを抽象化する方法を学びます。Angular も知っている場合は、その例も追加してください。

みんなありがとう。

4

1 に答える 1

3

できる限り一つ一つお答えしていきたいと思います。担当者がいないと 2 つ以上のリンクを投稿できないので、リンクを使用するにはリンクの前にある「s」を削除してください。

JavaScript による http リクエストの場合、 CORSを理解することが重要です。

CORS チュートリアル

AJAX

また、チェックアウトすることも役立ちます

XmlHttpRequest

REST の仕様を読むことは、おそらく、REST の機能の詳細を知るための最良の方法の 1 つです。プログラミングで REST を使用するためのチュートリアルを見つける方法は、言語によって大きく異なります。

1: 作成する JavaScript オブジェクトの種類 (XMLHttpRequest など)

これは、ブラウザとそのバージョンによって異なります。

がある:

IE7+、Firefox、chrome、safari で見られる XMLHttpRequests (これらのブラウザーの最新バージョンは、CORS をサポートしており、ここで確認してください。

XDomainRequests: IE 8 および IE 9 に含まれています (CORS をサポート)

activeXObject: IE 6,7,8,9,10 で見つかりました (CORS をサポートしていません)

Microsoft の msdn API リファレンスを使用して、IE 固有のオブジェクトについて詳しく知ることができます。通常、これらのオブジェクトについては、すばやく Google で検索すると良い結果が得られます。

2: URL リクエストの作成方法 (クエリの作成)

これがリクエストを作成するjavascript用であると仮定すると、送信先のサーバーによって異なります。http 要求を作成して送信するのに役立ついくつかのリンクを既にリンクしています。現在実際に実装されている実際の実装を見たい場合は、以下をチェックしてください。

apigee のusergrid.jsの 67 行目 (私がこれを投稿した時点)の request 関数、

クエリ文字列 (URI の後の「?」) を作成する方法を確認したい場合は、そのリンクの encodeParams 関数を確認してください。これを行うには多くの方法があることに注意してください。これはただの 1 つです。「param=value」を「uri」+「?」に on ずつ簡単に追加できます。

注意すべきことは、Apigee の例はクロスブラウザ互換ではないということです。すべてのバージョンのブラウザーがサポートしているわけではない XMLHttpRequest バージョン 2 を前提としています。

3: リクエストの各部分が、対象とするアプリケーション (バックエンド) とどのように関連しているか。

あなたが提供したRESTful apiリンクがkinveyをターゲットにしている場合は、それを説明するための最良の方法です. 実行しようとしているアクションに対して、URL および http 要求ヘッダーがどのように見えるかについて詳しく説明します。Kinvey の残りのガイドには、http リクエストのより具体的な例があります。URL に入るコンポーネントは、バックエンドに大きく依存します。より具体的な質問があれば、それに答えようとすることができます。

4: 私の認証情報がどのように/どこに/どのように適合するか

これもバックエンド/サーバーに依存します。Kinvey では、Basic Auth と OAuth を使用します。詳細については、セキュリティに関するガイドを確認してください。

私が投稿した最初のリンクを調査/調査し、http リクエストについて学んだ場合、資格情報は httpRequest の Authorization ヘッダーの下に表示されます。kinvey の場合、通常は次のようになります。

承認: "Basic " + Base64encoding[appId:appSecret] または "Kinvey " + [authToken]

5: レスポンスの処理方法。

ここでもバックエンド/サーバーに依存します。前述の AJAX および CORS チュートリアルのリンクは、応答の処理方法を示しています。

xml、json、単純なテキストなど、取得できるさまざまな応答があります。通常、必要なタイプは、リクエストヘッダーのacceptフィールドで指定するか、サーバーの応答ヘッダーのコンテンツタイプで指定します。送り返すことはできますが、デフォルトで何を送信するかを確認するには、サーバーを一度呼び出す必要があります。多くの mBaaS は通常、ドキュメントで応答を指定します。

kinvey の場合、通常は JSON が返されるため、応答に JSON.parse() を使用するだけで、JSON オブジェクトから必要なデータにアクセスできます。

うまくいけば、それがあなたの質問の一部またはすべてに答え、誰かが私が何か間違ったことをしたと思ったり、ひどく不正確なことを言ったりした場合はお知らせください. スタック オーバーフローについて投稿するのはこれが初めてですが、kinvey や他の多くの mBaaS を仕事に使用してきました。それで少し彼らのことを知りました。

最後に、やりたいことを学んだ場合は、RESt とのすべての対話を処理する Kinvey の JavaScript API を使用してください。JS フレームワークが提供しない、より具体的な何かを行う必要がない限り、車輪を再発明する必要はありません。

于 2013-07-10T18:39:02.693 に答える