如何使用Catalyst和uri链接REST接口?

jmc*_*ney 5 perl catalyst

我期待收到uri的喜欢

/user/*/account/*
Run Code Online (Sandbox Code Playgroud)

我有一个用户函数定义为

sub user  :Path('/user') :PathPart('') :ActionClass('REST' ) {}
Run Code Online (Sandbox Code Playgroud)

然后

sub user_GET :PathPart('user') Chained('/') CaptureArgs(1) {
    #do stuff

}
Run Code Online (Sandbox Code Playgroud)

对于帐户我也是类似地定义它们.

 sub account :Path('/account') :PathPart('') :ActionClass('REST') {}

 sub account_GET :PathPart('account') Chained('user_GET') Args(1) {
     #do stuff
 }
Run Code Online (Sandbox Code Playgroud)

所以,问题是当我将account_GET中的Chained设置为'user_GET'时,服务器调试显示路径已设置:

[debug] Loaded Chained actions:
.-----------------------------+--------------------------------------.
| Path Spec                   | Private                              |
+-----------------------------+--------------------------------------+
| /user/*/account/*           | /mcp/user_GET (1)                    |
|                             | => /mcp/account_GET                  |
'-----------------------------+--------------------------------------'
Run Code Online (Sandbox Code Playgroud)

当我将account_GET中的Chained设置为'user'时,服务器调试显示:

[debug] Unattached Chained actions:

[debug] Unattached Chained actions:

.-------------------------------------+--------------------------------------.
| Private                             | Missing parent                       |
+-------------------------------------+--------------------------------------+
| /mcp/account_GET                    | /mcp/user                            |
'-------------------------------------+--------------------------------------'
Run Code Online (Sandbox Code Playgroud)

问题是,显然后者没有建立,而前者正在返回,因为没有找到.

所以问题是如果我正在调用/ user/12345/account/23456如何在看似明显的路径,链接('用户')未设置且不太明显时如何正确设置该路径路径,链接('user_GET'),根本不起作用?

dax*_*xim 3

#catalystmst说:

_GET/_POST 方法不需要调度属性