Grails 服务无法使用 Optional class

Grails service fails working with Optional class

我曾尝试在 grails 服务中使用 Optionals,但每当我这样做时,我都会得到 HTTP 状态 500 - 应用布局时出错:main 和一堆堆栈跟踪,在我看来只不过是框架小玩意儿。但是当我在控制器中尝试相同的代码时,它工作正常。这是一个简化的例子:

class SomeService {

   Optional<Object> testOptional() {
        return Optional.empty()
    }

}

class SomeController {

  //...//

  // this one works
  def a() {
     render Optional.empty()
  }

  // this does not
  def b() {
    render someService.testOptional()
  }

}

除此之外,此服务中的其他方法均正常。

有什么想法吗?

P.S。 here's the full error

您似乎在通过服务代码完成了一些交易。

尝试为您的 service/controller 方法添加 @Transactional(readOnly = false),看看会发生什么。