Атрибут в конструкторе класса данных - это много вещей, параметр конструктора, геттер, сеттер и поле. Поэтому вам нужно установить цели использования сайта, чтобы выразить то, что вы на самом деле имеете в виду.
class Example(@field:Ann val foo, // annotate Java field
@get:Ann val bar, // annotate Java getter
@param:Ann val quux) // annotate Java constructor parameter
См. Также https://kotlinlang.org/docs/reference/annotations.html#annotation-use-site-targets
Так что в вашем случае я бы попробовал следующее:
data class RequestTest(
@property:RequestField val name: String
) : RequestParser()
С property
Я могу получить аннотацию от this::class.declaredMemberProperties
Если вы поставите field
, вы сможете получить его через this::class.java.declaredFields