2016-12-21 10 views
2

私はSpring Data Restを使用しています。私は302 redirectionを得るなぜSpring Data RestのルートURIに後続のスラッシュが必要ですか?

http :8080/myapp 

URI

http :8080/myapp/books 

が、私はルートにアクセスしようとします:私はhttpieを使用してコマンドラインからリソースにアクセスすることができます

HTTP/1.1 302 
Date: Wed, 21 Dec 2016 13:30:57 GMT 
Location: http://localhost:8080/myapp/ 
Transfer-Encoding: chunked 

テストこのFirefoxのURLはhttp://localhost:8080/myapp/にリダイレクトされ、リソースのリストが正しく表示されます。 httpie:

http :8080/myapp/ 

の後ろにスラッシュを追加すると、私はリソースのリストを取得します。なぜリダイレクトを避けるために後続のスラッシュを追加する必要がありますか?誰かがこの行動の背後にある論理を私に説明することはできますか?

P .:アプリケーションをSpring BootSTSから実行しています。

あなたは末尾 /それがリソースグループとして理解されるであろうが、それは /を付けずに、我々は、URL myappの最後の部分はリソースIDであってもよいし、と言うことはできません、それはそうを追加した場合、私は答えは だと思う

答えて

0

IDがmyappのリソースを最初にチェックする必要があります。存在しない場合は、リソースバンドル/グループとして取得し、/を追加してリダイレクトします。 /は、結果がグループになることを示しますが、スラッシュを付けないと、idを持つリソースとみなされます。 Ex。 users/userユーザーID:userを取得しています。 users/ユーザーのセットを取得します。したがって、リソースを見つけられなかった場合は最初にIDを確認し、次に/を追加してリダイレクトします。

詳細については、https://softwareengineering.stackexchange.com/questions/186959/trailing-slash-in-restful-api

関連する問題