您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 使用tornado RequestHandlers时最好的REST实现是什么

5b51 2022/1/14 8:21:22 python 字数 2524 阅读 505 来源 www.jb51.cc/python

我想定义一个REST API,其一般模式为:mysite.com/OBJECT_ID/associations例如:> mysite.com/USER_ID/vacations - 管理用户假期> mysite.com/USER_ID/music - 管理用户音乐库中的音乐> mysite.com/PLAYLIST_ID/music

概述

我想定义一个REST API,其一般模式为:

mysite.com/OBJECT_ID/associations

例如:

> mysite.com/USER_ID/vacations – 管理用户假期@H_301_8@> mysite.com/USER_ID/music – 管理用户音乐库中的音乐@H_301_8@> mysite.com/PLAYLIST_ID/music – 在给定播放列表的上下文中管理音乐

我在服务器端使用龙卷风,并寻找有关如何为此API定义RequestHandlers的建议.例如,我想定义一个处理程序,如:@H_301_8@/([0-9,AZ,– ])/音乐”,MusicHandler),但我卡在MusicHandler的实现,它需要知道在URI中指定的对象支持在首位的音乐即如何防范呼叫

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),

/播放列表/([0-9,PlaylistMusicHandler)

这似乎不对,但我真的不明白如何使这项工作.我确定这是一个简单的问题,我是python和龙卷风的新手.

或者,您可以使用正则表达式组在URI中捕获它,然后为每个表定义不同的处理程序. (此外,您的ID可能应该在URI中的所有静态文本之后,只是为了良好的约定).例如,如果您的PLAYLIST_ID是UUID而您的LOCATION_ID是字符串:

(r"/music/([\w]{8}-[\w]{4}-[\w]{4}-[\w]{4}-[\w]{12})",PlaylistMusicHandler),#playlistID
(r"/music/([A-Za-z0-9]+)",LocationHandler),#locationID

总结

以上是编程之家为你收集整理的python – 使用tornado RequestHandlers时最好的REST实现是什么全部内容,希望文章能够帮你解决python – 使用tornado RequestHandlers时最好的REST实现是什么所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶