RESTful Rails:Rails从1.2版本开始支持REST,在RAILS的新构架中,一切都是围绕资源进行的,用户可以使用浏览器访问这些资源,也可以通过REST访问,REST访问同样是通过现有的HTTP协议,可以创建、读取、更新或删除资源的记录。支持REST的Rails应用就是RESTful Rails,比如twitter,它的资源调用如此灵活,便是得益于REST。
cURL:一个命令行工具,能够发送HTTP get、put、post、delete到某个URL,并查看服务器响应(其实它能N多协议,测试中只用到HTTP)。*nix系统一般自带了cURL,windows用户可以自己下载一份。
常用的测试命令有:
- -X [action]:可以指定HTTP action,例如GET、POST、PUT、DELETE:
curl -X DELETE http://localhost:3000/books/1 - -d [parameter]:可以设置需要被提交的变量。使用-d之后cURL会自动执行HTTP POST action,如果要执行POST可以省略-X:
curl -d “book[title]=Test” -d “book[copyright]=1998″ http://localhost:3000/books - -H [header]:可以通过这个参数设定HTTP header(Content-Type或者Accept)。“text/xml”对于测试基于XML的RESTful Rails是个特别有用的参数:
curl -H “Accept: text/xml” http://localhost:3000/books/sections/1
合在一起,更新一条记录并且要求系统返回XML的测试语句:
curl -H “Accept: text/xml” -X PUT -d “book[title]=Testing Again” http://localhost:3000/books/1
翻译自How to Use cURL to Test RESTful Rails。正在做一个《秘密》MSN机器人的项目,需要测试REST接口,顺便也把这篇文章翻译了过来。