WEB开发网
开发学院软件开发Java 精通 Grails: 创建自定义插件 阅读

精通 Grails: 创建自定义插件

 2009-10-26 00:00:00 来源:WEB开发网   
核心提示: 这个 Web 服务界面只返回指定页面的缩短的 URL,而不是 HTML,精通 Grails: 创建自定义插件(4), 下一步是将您的新发现封装到 Groovy 类中,这个类是一个 Plain Old Groovy Object (POGO),(在这个简单的例子中,宣称很小的 URL 竟然比它要编

这个 Web 服务界面只返回指定页面的缩短的 URL,而不是 HTML。

下一步是将您的新发现封装到 Groovy 类中。这个类是一个 Plain Old Groovy Object (POGO),正如它的名称所示,它不是服务、控制器或任何其他具有特殊目的的 Grails 组件。因此,放置它的最好位置是 src/groovy。在 src/groovy 下创建一个 org/grails/shortenurl 目录,然后创建 TinyUrl.groovy 并添加清单 3 中的代码:


清单 3. TinyUrl 实用程序类
package org.grails.shortenurl 
 
class TinyUrl{ 
 static String shorten(String longUrl){ 
  def addr = "http://tinyurl.com/api-create.php?url=${longUrl}" 
  return addr.toURL().text 
 } 
} 

插件中的包

将插件的类放在一个包中是一种很好的实践,这极大地减小了与用户的 Grails 项目中的现有类造成冲突的几率。

还可以打包域类、控制器等。对于简单的项目,这种不太常见的实践会增加不必要的复杂性,但经验丰富的 Grails 开发人员非常信任这种实践。

测试 TinyUrl 类

将代码用于生产前,应该进行相应的测试,不是吗?由于您要进行一个实时 Web 调用,因此这应该是一个集成测试。在 test/integration 下创建此前创建过的相同的 org/grails/shortenurl 目录结构。创建 TinyUrlTests.groovy 并添加清单 4 中的代码。(在这个简单的例子中,宣称很小的 URL 竟然比它要编码的原始 URL 还要长。这非常有趣)。


清单 4. 测试 TinyUrl 类
package org.grails.shortenurl 
 
class TinyUrlTests extends GroovyTestCase{ 
 def transactional = false 
 
 void testShorten(){   
  def shortUrl = TinyUrl.shorten("http://grails.org") 
  assertEquals "http://tinyurl.com/3xfpkv", shortUrl 
 } 
} 

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:精通 Grails 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接