什么是grails服务功能的返回类型?

时间:2014-07-08 11:24:50

标签: grails projection criteriaquery

我有像这样的grails服务功能

public List<Object> getfunction(def test, def test1) {
  def criteria = Test.createCriteria();
  List<Object> list= criteria.list {
      projections{
          groupProperty('state')
          rowCount()
      }
  }
}

但我对此的返回类型感到困惑 函数,当前实现它正在工作,但我知道它是错误的返回类型。

请提前谢谢。

2 个答案:

答案 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语句时,无论最后一个表达式如何计算,都会返回。

我希望有所帮助。