2015-03-09 2 views
0

в web.py, как указать URL-адреса для GET (все) и GET/id?RESTful GET и GET (все) URL в web.py

Вот что у меня есть. Мое намерение заключается в том, что GET без аргумента вызывается, когда нет аргумента. Это соответствовало бы получению списка всех данных для my_url. Если бы был предоставлен идентификатор, я бы надеялся, что будет вызван другой метод, и что он будет использовать аргумент для возврата одной строки.

Очевидно, что это не работает.

Нужно ли просто объявить новый класс для случая «получить все»?

urls= (
    '/my_url/(.+)', 'my_class', 
    '/my_url', 'my_class' 
) 

class my_class: 
    def GET(self): 
     return "..." 
    def GET(self, id): 
     return "... {0}".format(id) 
+0

угадай, что вы пришли из C++ landia –

+0

@JoranBeasley Java. Но я шизофреник. Я полагаю, что у меня есть мой случай/подчеркивание из-за стандарта ... –

ответ

1

в питона использовать значения по умолчанию для аргументов, которые не могут присутствовать

class my_class: 
    def GET(self,id=None): 
     if id is None: 
      return "..." 
     else: 
      return "other..." 
+0

Спасибо, это сделал трюк. Теперь у меня больше исследований! Я соглашусь еще через 7 минут. –

0
'/my_url(?:$|/(.+))', 'my_class', 

где '?:' Означает игнорирование внешней группы, в то время как группа (. +) Остается может эта помощь.

Смежные вопросы