Я хотел бы определить REST API с общим шаблоном:
mysite.com/OBJECT_ID/associations
Например:
mysite.com/USER_ID/vacations
- управлять отпуском пользователейmysite.com/USER_ID/music
- управлять музыкой в фонотеке пользователяmysite.com/PLAYLIST_ID/music
- управлять музыкой в контексте данного плейлиста
Я использую торнадо на стороне сервера и ищу предложения о том, как определить RequestHandlers для этого API. Например, я хочу определить обработчик вроде: /([0-9,a-z,A-Z,-]+)/music",MusicHandler),
, но я застрял на реализации MusicHandler, которому нужно знать, поддерживает ли объект, указанный в uri, музыку в первую очередь, т.е. как защититься от вызова вроде
mysite.com/LOCATION_ID/music
Где локации не имеют ассоциаций с музыкой.
Лучшее исправление для изменения API, чтобы включить тип, т.е.:
mysite.com/users/USER_ID/music
or
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 и торнадо.