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 つのパラメーターを指定) OK!

POST ...public/index.php/eventos/ (4-5 パラメータ)どのように機能しますか?

GET ...public/index.php/eventos/{id} OK!

GET ...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 つのパラメーターを指定) OK!

ありがとう!

4

1 に答える 1

0

(「2つのパラメーター」とは、クエリ文字列パラメーターを意味すると想定しています)

Restler 3 の場合、パスの一部であるパラメーター ( eventos / x / Attend など)必要です。オプションにしたいものはすべて、クエリ文字列から取得されます。

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 に答える