2010-05-10 84 views
0

我試圖在CakePHP中創建一個REST風格的服務,但我碰到了一些磚牆。在CakePHP中創建一個REST風格的服務

我啓用了使用Router :: mapResources('users')和Router :: parseExtensions()的默認RESTful路由。如果我發出一個GET請求,並且返回一些格式良好的XML,這很好。到現在爲止還挺好。

問題是,如果我想做一個POST或PUT請求。 CakePHP似乎無法讀取請求中的數據。目前,我的add(),edit()和delete()動作不包含任何邏輯,他們只是將$ this-> data設置爲視圖。

我用下面的命令捲曲測試:

curl -v -d "<user><username>blahblah</username><password>blahblah</password>" http://localhost/users.xml --header 'content-type: text/xml' 

其中僅返回一個404頭。如果我刪除了--header參數,那麼它將返回視圖,但沒有設置數據。

感覺就像我在這裏丟失了一些明顯的東西。有任何想法嗎?

回答

2

解決:在控制器的$ components數組中,需要在'RequestHandler'之前放置'Security'。在RequestHandler完成它的事情之後,SecurityComponent正在進入並將所有請求佈滿黑洞。我認爲。

+0

+1用於跟蹤解決方案。 – 2010-05-14 13:04:00