次の一般的なパターンで REST API を定義したいと思います。
mysite.com/OBJECT_ID/associations
例えば:
mysite.com/USER_ID/vacations
- ユーザーの休暇を管理するmysite.com/USER_ID/music
- ユーザーの音楽ライブラリ内の音楽を管理するmysite.com/PLAYLIST_ID/music
- 指定されたプレイリストのコンテキストで音楽を管理する
サーバー側でトルネードを使用しており、この API の RequestHandlers を定義する方法についての提案を探しています。たとえば、次のようなハンドラを定義したいの
/([0-9,a-z,A-Z,-]+)/music",MusicHandler),
ですが、URI で指定されたオブジェクトが最初に音楽をサポートしているかどうかを知る必要がある MusicHandler の実装に行き詰まっています。
mysite.com/LOCATION_ID/music
音楽と関係のない場所。
次のタイプを含めるように API を変更するのが最善の修正です。
mysite.com/users/USER_ID/music
また
mysite.com/playlists/PLAYLIST_ID/music
次に、それぞれの個別のハンドラー:
/users/([0-9,a-z,A-Z,-]+)/music",UserMusicHandler),
/playlists/([0-9,a-z,A-Z,-]+)/music",PlaylistMusicHandler)
それは正しくないようですが、これを機能させる方法がよくわかりません。これは単純な問題だと確信しています。私はpythonとtornadoが初めてです。