これは質問するのが難しい質問です:
私は2つの部分でRESTアプリケーションを使用しました。
- サーバー:Restlet2.0.14で実装
- クライアント:Backbone.jsを使用したWebApp
クライアントでは、バックボーンアプリはバックボーンルーターAPIを使用します。たとえば、次のURIがあります。
"http:// localhost:8000 / myApp /#/ resource1 / attribute"
これはバックボーンルートです。おそらく、このURLをWebブラウザーに入れると、ブラウザーはサーバーに「http:// localhost:8000 / myApp /」を送信しますが、2番目の部分(フラグメント)は実行用です。彼がサーバーからアプリをダウンロードするとき、私はそれが正しいと思います...
さて、私はRestletを使用して独自のWebサーバーを実装しているので、次のシナリオが必要です。
- ユーザーがブラウザに次のURLを入力すると、「http:// localhost:8000 / myApp / resource1 / attribute」サーバーはバックボーンWebアプリケーションを返す必要があり、ブラウザはフラグメントを含む正しいビューを(ルーティングを使用して)ロードする必要があります。
そのポイントを実装するために、私は自分のレストレットサーバーにリダイレクトを実装しました。URLへの着信リクエスト: "http:// localhost:8000 / myApp / resource1 / attribute"私はそれをこのURLにリダイレクトします: "http:// localhost :8000 / myApp /#/ resource1 / attribute / "を307(一時的なリダイレクト)で指定し、"Location"ヘッダーにURLを設定します。
現時点ではすべてが正しく、ブラウザはリダイレクトで応答を受け取り、ブラウザはこのURLでサーバーを再度呼び出します。URLバーにリダイレクトURLが表示されます。しかし、ルーティングが機能せず、webAppを受け取りましたが、ブラウザーがURIのフラグメントを実行していないようです。
たぶん、誰でも私に光を見せてくれますか?