对于我们的大多数 REST 服务,我们使用 XML 的自动编组来输出我们的结果。我们的测试小组报告说他们在结果中得到了意想不到的新行(见下文)。我相信这两个结果是等效的,因为唯一的区别是可忽略的空格,并且测试应该将结果解析为 XML 而不是进行字符串比较。无论如何,我个人的偏好是呈现测试所需的更简洁、更紧凑的 XML 版本,但我实际的一面是不要管它。
我已经深入研究了 Grails渲染命令,但没有看到任何控制此输出的方法。我希望我们也可以在 Config.groovy 中设置一些东西来控制它,但我也找不到任何东西。有什么建议么?
我们得到:
<?xml version="1.0" encoding="UTF-8"?>
<profile id="45">
<management id="6"/>
<name>
TESTING_MGT_DOC
</name>
<type>
MGT
</type>
<user id="43"/>
</profile>
测试预期:
<?xml version="1.0" encoding="UTF-8"?>
<profile id="45">
<management id="6"/>
<name>TESTING_MGT_DOC</name>
<type>MGT</type>
<user id="43"/>
</profile>
我们通过控制器中的简单单行调用生成这些结果。
来自 ProfileController.groovy
...
if(param.name){
render profileService.getProfileByName(param.name) as XML
}
...
来自 ProfileService.groovy
...
def getProfileByName(def name){
return Profile.findByProfileName(name)
}
...