#python #pyramid
#python #пирамида
Вопрос:
Я добавил эти маршруты:
config.add_route('api.v3.crud', 'api/v3/crud/{entity_type}')
config.add_route('api.v3.crud:id', 'api/v3/crud/{entity_type}/{id}')
И определены ли эти значения по умолчанию и конфигурации:
@view_defaults(route_name="api.v3.crud", permission="authenticated", renderer="json")
@view_defaults(route_name="api.v3.crud:id")
class CrudView(object):
def __init__(self, request):
self.request = request
log.debug(request.method)
@view_config(request_method='GET')
def get(self):
# etc...
Я подумал, что таким образом можно определить «необязательные» сегменты URL, чтобы я мог реализовать конечную точку RESTful API в том же классе. «Список» вызывает work ( api/v3/crud/users
) , но вызовы api/v3/crud/users/id
, например, вызывают NotFound . Что я делаю не так?
Комментарии:
1. Попробуйте использовать
pviews
для устранения неполадок.proutes
также может быть полезно.
Ответ №1:
Они view_defaults
не складываются так, как вы, вероятно, думаете. Вы должны определить только view_defaults
один раз для класса, а затем он добавит параметры к каждому view_config
определенному внутри класса.