2010-05-10 80 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