首先感謝大家之前對小弟之前在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
→
05/27 12:55, , 1F
05/27 12:55, 1F
→
05/27 12:55, , 2F
05/27 12:55, 2F
→
05/27 16:04, , 3F
05/27 16:04, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):