看板 Ruby 關於我們 聯絡資訊
首先感謝大家之前對小弟之前在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
godfat:你的 controller 呢?沒寫當然不會動啊.. 05/27 12:55
godfat:REST 是概念,不是程式 05/27 12:55
Esh:預設的不就有了嘛? 自動產生的 05/27 16:04