0

我有个问题。Restler 3 中的工作路径如何?

class eventos {
function index($desde=0, $hasta=0) {}

function get($num, $p2='optional') {
       if($p2 != 'attend'){}
       else{}
    }

function post($num, $p2, $request_data = null){

       if($p2 == 'comment'){}
       if($p2 == 'attend'){}

    }

}

我需要:

GET ...public/index.php/eventos/(带有2个参数)好的!

POST ...public/index.php/eventos/(4-5个参数)它是如何工作的?

获取 ...public/index.php/eventos/{id} 好的!

获取 ...public/index.php/eventos/{id}/attend NO WORK!!! 如果 ...eventos/x?p2=attend 工作,但我不想要这个,我想要 ...eventos/x/attend

POST ...public/index.php/eventos/{id}/attend(X 参数)好的!

POST ...public/index.php/eventos/{id}/comment(带2个参数)好的!

谢谢!

4

1 回答 1

0

(我假设“2 个参数”是指查询字符串参数)

对于 Restler 3,需要作为路径一部分的参数(例如 eventos/ x / attach)。您希望成为可选的任何内容都来自查询字符串。

由于您已将 GET 的 $p2 指定为可选,因此它只能来自查询字符串:eventos/x?p2=attend。

如果您想覆盖它并返回到 Rester 2 方法,您可以按照此处指定的方式关闭此自动路由:http ://restler3.luracast.com/examples/_006_routing/readme.html

至于您关于 4-5 参数的 POST 问题,如果您需要它们:

function post($id, $p1, $p1, $p3, $p4){

...或者如果它们是可选的:

function post($id, $p2, $request_data = null){

然后将 POST 正文中的 4-5 个参数传递给 URL eventos/attend 或 eventos/comment。

于 2013-10-12T00:06:31.697 回答