精通Grails: RESTful Grails - 编程入门网
}
}
}
每一个块的最后一行一定会是一个 render、return 或者 redirect — 与普通操作没什么不同。如果 Accept 报头变成 “all”(*/*)的话,则会使用块中的第一个条目。 改变 cURL 中的 Accept 报头是不错,但是通过改变 URI 您还可以作一些测试工作。 http://localhost:8080/trip/airport/list.xml 和 http://localhost:8080/trip/airport/list? format=xml 都可以用来显式地覆盖 Accept 报头。随便试一下 cURL 和各种 URI 值,确保 withFormat 块能发挥预期作用。 如果想让这个行为成为 Grails 中的标准的话,不要忘记您可以输入 grails install-templates,并 在 /src/templates 中编辑文件。 所有的基本构建块就位之后,最后一步就是将 GETful 接口转化成一个真正的 RESTful 接口。 精通Grails: RESTful Grails(7)时间:2011-07-29 IBM Scott Davis用 Grails 实现 RESTful Web 服务 首先,需要确保您的控制器已经开始响应那四个 HTTP 方法了。回想一下,如果用户不指定一个像 list 或 show 这样的操作的话,index 闭包就是通往控制器的入口点。index 默认重定向到 list 操作 :def index = { redirect(action:list,params:params) }。用清单 8 中的代码替换这个代码: 清单 8. 启动 HTTP 方法
如清单 9 所示,使用 cURL 来验证 switch 语句运行正常: 清单 9. 全部四个 HTTP 方法都使用 cURL
实现 GET 由于您已经知道如何返回 XML 了,实现 GET 方法就应该是小菜一碟了。但有一点需要注意。对 http://localhost:9090/trip/airport 的 GET 请求应该返回一个机场列表。而对 http://localhost:9090/trip/airport/den 的 GET 请求应该返回 IATA 代码为 den 的一个机场实例。 要达到这个目的,必须建立一个 URL 映射。 在文本编辑器中打开 grails-app/conf/UrlMappings.groovy。默认的 /$controller/$action?/$id? 映射看起来应该很熟悉。URL http://localhost:9090/trip/airport/show/1 映射到了 AiportController 和 show 操作,而 params.id 值被设置成 1。操作和 ID 结尾的问号说明 URL 元素 是可以选择的。 如清单 10 所示,向将 RESTful 请求映射回 AirportController 的 static mappings 块添加一行。 由于还没有在其他控制器中实现 REST 支持,所以我暂时对控制器进行了硬编码。稍候可能会用 $controller 来替代 URL 的 airport 部分。 清单 10. 创建一个自定义 URL 映射
精通Grails: RESTful Grails(8)时间:2011-07-29 IBM Scott D |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |