我有像这样的grails服务功能
public List<Object> getfunction(def test, def test1) {
def criteria = Test.createCriteria();
List<Object> list= criteria.list {
projections{
groupProperty('state')
rowCount()
}
}
}
但我对此的返回类型感到困惑 函数,当前实现它正在工作,但我知道它是错误的返回类型。
请提前谢谢。
答案 0 :(得分:2)
您编写的代码正在运行,因为Grails使用groovy并且在groovy中,方法的最后一个语句用于返回。因此,除非函数类型为 void ,否则无论您在任何方法的末尾写入什么都将被返回。
例如:
String getFullName() {
String firstName = "S"
String lastName = "A"
firstName + " " + lastName
}
这将自动返回连接字符串。
答案 1 :(得分:0)
也许这会有所帮助。以下所有内容完全相同:
public List<Object> getfunction(def test, def test1) {
def criteria = Test.createCriteria();
List<Object> list= criteria.list {
projections{
groupProperty('state')
rowCount()
}
}
}
public List<Object> getfunction(def test, def test1) {
def criteria = Test.createCriteria();
List<Object> list= criteria.list {
projections{
groupProperty('state')
rowCount()
}
}
return list
}
public List<Object> getfunction(def test, def test1) {
def criteria = Test.createCriteria();
List<Object> list= criteria.list {
projections{
groupProperty('state')
rowCount()
}
}
list
}
public List<Object> getfunction(def test, def test1) {
def criteria = Test.createCriteria();
return criteria.list {
projections{
groupProperty('state')
rowCount()
}
}
}
public List<Object> getfunction(def test, def test1) {
def criteria = Test.createCriteria();
criteria.list {
projections{
groupProperty('state')
rowCount()
}
}
}
return语句是可选的。当没有return语句时,无论最后一个表达式如何计算,都会返回。
我希望有所帮助。