python - 在 Pyramid 中,我可以根据请求方法让多个 View 指向同一路由/URL 吗?

标签 python pyramid http-verbs

我继承了一个项目,我正在努力使其尽可能干净。现在,每个 View 只有 if/else block 来处理不同的 HTTP 请求方法(GET、POST、DELETE 等)。我希望有一个 View 方法,不仅可以处理每个路由,还可以处理每个路由+请求方法的组合。

我正在尝试这个

@view_config(route_name='foo', request_method='GET', renderer='json')
def foo(request):
    return Response(json.dumps({'route' : 'foo', 'method' : 'GET'}))

@view_config(route_name='foo', request_method='POST', renderer='json')
def foo(request):
    return Response(json.dumpds({'route' : 'foo', 'method' : 'POST'}))

但它不起作用。有人可以帮忙吗?

最佳答案

您必须将 GET 的函数名称更改为 get_foo,将 POST 的函数名称更改为 post_foo

    @view_config(route_name='foo', request_method='GET', renderer='json')
    def get_foo(request):
        return Response(json.dumps({'route' : 'foo', 'method' : 'GET'}))

   @view_config(route_name='foo', request_method='POST', renderer='json')
   def post_foo(request):
       return Response(json.dumpds({'route' : 'foo', 'method' : 'POST'}))

关于python - 在 Pyramid 中,我可以根据请求方法让多个 View 指向同一路由/URL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36456683/

相关文章:

python - psycopg2.编程错误: column "none" does not exist - Update Statement

python - os.makedirs 导致 Amazon AWS Ubuntu 实例上的 OSError

Python Pylons/Pyramid cookies

Python Pyramid 关闭事件

rest - 带有请求正文的读取端点的 HTTP 动词

http - CORS请求预检请求,以用户代码结尾

python - 给我最高的元素

python - Rabin-Miller Strong Pseudoprime Test Implementation 将不起作用

python - Pyramid 架构迁移

kendo-ui - Web API + OData - PATCH 请求 400 错误