作者Esh ()
看板Ruby
标题[问题] 送出REST的CRUD 但是结果有问题
时间Wed May 27 11:41:07 2009
首先感谢大家之前对小弟之前在REST疑问的排除
现在遇到了一个状况
就是对规定的URI送出PUT, GET, POST, DELETE
只有GET跟DELETE的结果正确...
(用了几个REST GUI Client都这样)
例如有一个doctors的controller
里面有Uid, Firstname, Lastname, City, 与License五个Fields
小弟我有修改migrate的内容,把timestamp去掉
现在除了上面5个栏位,只有多了会自动产生的ID
先用Scaffold产生的new样板,网页输入一笔资料後
对doctors/1.xml 送出Get Method得到了
<?xml version="1.0" encoding="UTF-8"?>
<doctor>
<city>CA</city>
<firstname>Peter</firstname>
<id type="integer">1</id>
<lastname>Norton</lastname>
<license type="integer">2147483647</license>
<uid>A128080042</uid>
</doctor>
接着我想要修改资料,例如把uid改成 A128080142
於是再对doctors/1.xml 送出PUT
以下是封包内容
<?xml version="1.0" encoding="UTF-8"?>
<doctor>
<city>CA</city>
<firstname>Peter</firstname>
<id type="integer">1</id>
<lastname>Norton</lastname>
<license type="integer">2147483647</license>
<uid>A128080142</uid>
</doctor>
送出之後,得到200 OK的回应
但是再用GET去看这笔资料
得到的还是变动前的UID
另外,要新增一笔资料
对doctors.xml送出POST
一样编辑上述的xml内容
一样得到200 ok的回应,也真的多了一笔资料在Database
可是仅有自动生成的ID栏位多了自动加1的数值
该record的其他栏位city, firstname. lastname.....
都是null的
不知道为什麽会发生这样的状况?
该如何解决? 我送出的方式有误嘛?
或者是REST Client的问题 (我用python的RESTClient
http://restclient.org/ )
有请高手解惑了!
谢谢
--
http://blog.leezhenyu.com
Technology, Study, Food, Travel
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.162.64
1F:→ godfat:你的 controller 呢?没写当然不会动啊.. 05/27 12:55
2F:→ godfat:REST 是概念,不是程式 05/27 12:55
3F:→ Esh:预设的不就有了嘛? 自动产生的 05/27 16:04