我对不同的 Web 框架(Django、web.py、Pyramid 和 CherryPy)有一些经验,我想知道在哪个框架中更容易并且希望更清洁地实现路由调度程序到不同的“视图/处理程序”基于“接受”标头和 HTTP 方法,例如:
Accept: application/json
POST /post/
处理方式不同于:
Accept: text/html
POST /post/
因此,请求被路由到 MIME“application/json”和 HTTP 方法“POST”的相应处理程序的特定视图。
我确实知道如何在 CherryPy 中实现类似的东西,但是我失去了使用 CherryPy 工具来进行请求的内部重定向,因为我直接调用特定方法而不是从调度程序自动调用。另一种选择是从头开始实现一个全新的调度程序,但这是最后一个选择。
我知道在 url 中使用扩展名的替代方法,例如/post.json
or /post/.json
,但我希望保持相同的 url?