关于webman2.2注解路由的一点小建议

luoyue

问题描述

我看到 路由-无参数注解文档中提到#[Post]直接作为注解使用是启用默认路由,关闭默认路由是#[DisableDefaultRoute],那么启用默认路由应该为#[EnableDefaultRoute]#[Post]注解我推荐将方法名作为path。

#[Post]  // 与#[Post(path: '/create')]相同
public function create() { ... }

#[EnableDefaultRoute(methods: ['POST'], name: 'createUser')]  // 允许 POST,定义name,路径由默认路由给出
public function create() { ... }

但是我不清楚默认路由能不能控制POST,GET这些。

95 1 0
1个回答

walkor 打赏

#[Post]直接作为注解使用是启用默认路由
文档哪里有这个说法?

文档说的是 限制默认路由的请求方法

例如

namespace app\controller;
class UserController {
    #[Post]
    function create(string $name , int $age) {

    }
}

为了防止 Get请求 /user/create?name=xxx&age=xxx ,可以设置一个#[Post] 注解限定只能Post请求,这样安全一些。

  • luoyue 2026-02-26

    抱歉,是我误解了,主要是那个方法名作为path是否可以实现呢

  • luoyue 2026-02-26

    使用#[RouteGroup]的情况下,不使用还是默认路由

  • walkor 2026-02-26

    直接方法名作为path不合理,而且容易路由冲突,不会支持

🔝