MissingMethodException 是一项服务:"No signature of method"
MissingMethodException is a service: "No signature of method"
在 Grails 服务中遇到一个非常奇怪的问题。我有这样设置的服务:
package com.mydomain
import java.net.URLEncoder
import java.rmi.server.UID
import java.security.*
class EmailConfirmationService {
def sendConfirmation(Person person) {}
}
我是通过 emailConfirmationService.sendConfirmation(person)
从控制器调用它的
当我启动 Grails 应用程序时,它抛出以下错误:
MissingMethodException occurred when processing request: [POST] /api/people/
No signature of method: mydomain.api.EmailConfirmationService.sendConfirmation() is applicable for argument types: (com.mydomain.Person) values: [name@mydomain.com]
我所要做的就是保存 EmailConfirmationService 文件,watcher 将其拾取并重新编译,然后它运行良好,再也不会抛出该错误。
直到我重新启动,然后它出错,直到我再次保存该文件。
我尝试了以下方法,但没有任何效果:
- 清理构建
- 更改函数名称
- 确保人物实例存在
有什么想法吗?
您的服务声明了另一个包 (com.mydomain
),而不是错误消息中的包 (mydomain.api
)。请确保包匹配并且文件位于 grails-app/services/com/mydomain/EmailConfirmationService.groovy
(除非所有这些都是由于您对 SO 所做的混淆)
在 Grails 服务中遇到一个非常奇怪的问题。我有这样设置的服务:
package com.mydomain
import java.net.URLEncoder
import java.rmi.server.UID
import java.security.*
class EmailConfirmationService {
def sendConfirmation(Person person) {}
}
我是通过 emailConfirmationService.sendConfirmation(person)
当我启动 Grails 应用程序时,它抛出以下错误:
MissingMethodException occurred when processing request: [POST] /api/people/
No signature of method: mydomain.api.EmailConfirmationService.sendConfirmation() is applicable for argument types: (com.mydomain.Person) values: [name@mydomain.com]
我所要做的就是保存 EmailConfirmationService 文件,watcher 将其拾取并重新编译,然后它运行良好,再也不会抛出该错误。
直到我重新启动,然后它出错,直到我再次保存该文件。
我尝试了以下方法,但没有任何效果:
- 清理构建
- 更改函数名称
- 确保人物实例存在
有什么想法吗?
您的服务声明了另一个包 (com.mydomain
),而不是错误消息中的包 (mydomain.api
)。请确保包匹配并且文件位于 grails-app/services/com/mydomain/EmailConfirmationService.groovy
(除非所有这些都是由于您对 SO 所做的混淆)