Насколько я знаю, мы не можем сделать это на Java. Можем ли мы сделать это в Scala?
Предположим, существует метод, описанный ниже:
def insert(name:String, age:Int) {
// insert new user
}
Можно ли получить имена параметров name
и age
в scala?
UPDATE
Я хочу сделать это, потому что я хочу автоматически связывать параметры методов.
Например, это веб-приложение, некоторые действия которого определены как
class UsersController extends Controller {
def create(name: String, age: Int) {
// insert the user
}
}
Клиент нажал кнопку submit
формы создания пользователя. URL будет /users/create
и с некоторыми параметрами отправки.
На стороне сервера, когда мы получим URL с именем /users/create
, мы найдем метод create
в контроллере UsersController
, найденный сейчас. Затем я должен получить имена параметров этого метода, затем мы можем получить их значения:
val params = getParamsFromRequest()
val method = findMethodFromUrl("/users/create")
val paramNames = getParamNamesOfMethod(method)
val paramValues = getValues(params, paramNames)
// then invoke
method.invoke(controller, paramValues)
Теперь ключ в том, как получить имена параметров метода?