精通Grails: RESTful Grails - 编程入门网
t;
<official-name>Eppley Airfield</official-name>
<city>Omaha</city>
<state>NE</state>
<country>US</country>
<location latitude="41.3019419" longitude="-95.8939015"/>
</airport>
现在,在 index 操作中,用清单 20 中的代码替代 def airport = new Airport(params.airport) 行: 清单 20. 解析复杂的 XML
request.XML 对象是一个持有原始 XML 的 groovy.util.XmlSlurper。它是根元素,因此您可以通过 名称(request.XML.city)来寻找子元素。如果名称是用连字符连接的,或者使用了名称空间,就加上引 号(request.XML."official-name")。元素的属性要使用 @ 符号(request.XML.location.@latitude) 来访问。 最后,使用 cURL 来测试它:curl --request POST --header "Content-Type: text/xml" --data @newAirport.xml http://localhost:9090/trip/rest/airport。 精通Grails: RESTful Grails(11)时间:2011-07-29 IBM Scott Davis实现 PUT 您需要支持的最后一个 HTTP 方法就是 PUT。了解了 POST 之后,会知道代码基本是一样的。惟一不 同的就是它无法直接从 XML 构造类,您需要向 GORM 寻求现有的类。然后,airport.properties = params.airport 行会用新的 XML 数据来替代现有的字段数据,如清单 21 所示: 清单 21. 响应 HTTP PUT
创建一个名为 editAirport.xml 的文件,如清单 22 所示: 清单 22. editAirport.xml
最后,使用 cURL: curl --verbose --request PUT --header "Content-Type: text/xml" --data @editAirport.xml http://localhost:9090/trip/rest/airport 来测试它。 结束语 我在很短的时间内讲解了很多相关知识。现在,您应该了解到 SOA 和 ROA 之间的不同之处了。您同 样也应该意识到,并不是所有的 RESTful Web 服务都如出一辙。有些 Web 服务是 GETful 的 — 使用 HTTP GET 请求来调用类 RPC 方法。而其他的则是纯粹面向资源的,其中 URI 是访问资源的关键,而标 准 HTTP GET、POST、PUT 和 DELETE 方法构 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |