Проблема в передаче URL в python tornado framework - PullRequest
0 голосов
/ 03 марта 2020

Я передаю путь ресурса, как показано ниже.

application = tornado.web.Application(handlers=[ (r"/rsgateway/data/json/eventstore/subscriber/orderid/555555&xyz=1", getUsageHistory),)

В пути ресурса мне нужно передать URL. Но из-за специального символа, такого как +, $ мой скрипт не возвращает вывод. Нужно знать, как передать URL в путь к ресурсу.

1 Ответ

0 голосов
/ 10 марта 2020

Вы должны получить параметры запроса в обработчиках. Ваш код может выглядеть примерно так:

Приложение:

application = tornado.web.Application(handlers=[
(r"/rsgateway/data/json/eventstore/subscriber/orderid/([0-9]+)", UsageHistory),
])

и обработчик:

class UsageHistory(RequestHandler):
    async def get(self, order_id: str):
        xyz = self.request.query_arguments.get('xyz')
        data = await self.orders.get_history(int(order_id), xyz)
        await self.finish(escape.json_encode(data))
...