Документировать пользовательскую аннотацию в документах spring rest

Мне нужно интегрировать документы spring rest в устаревший проект, если они используют набор пользовательских аннотаций (например, роли пользователей). Есть ли способ в документах spring rest документировать эту аннотацию?


person Luca    schedule 22.07.2020    source источник
comment
Не могли бы вы немного рассказать о том, что делает аннотация? REST Docs работает на уровне HTTP-запросов и ответов. Документирование аннотации будет зависеть от ее влияния на эти запросы и ответы.   -  person Andy Wilkinson    schedule 23.07.2020
comment
я знаю, как это работает, и я не согласен с подходом, выбранным моей компанией. По сути, они хотят задокументировать пользовательскую аннотацию, аналогичную @PreAuthorize одной из Spring Security. Существует аннотация, определяющая роль, которую пользователь должен иметь для доступа к определенной конечной точке. Есть ли способ документировать такие вещи?   -  person Luca    schedule 24.07.2020


Ответы (1)


Spring REST Docs работает на уровне HTTP-запросов и ответов. По дизайну он ничего не знает об аннотациях или о том, как обрабатываются эти запросы и создаются ответы. Это гарантирует, что то, что вы документируете, находится на том же уровне, что и клиент, взаимодействующий с вашей службой через HTTP.

Если вы хотите включить информацию о @PreAuthorize или аналогичную ей аннотацию, вам придется написать что-то для этого самостоятельно. Если вы хотите вписаться в REST Docs, вы можете реализовать пользовательский Snippet, настроенный с помощью класса или метода, из которого он извлекает аннотацию с помощью отражения и создает на ее основе некоторую документацию.

person Andy Wilkinson    schedule 24.07.2020
comment
Вот как я это реализовал. Но на данный момент мне нужно настроить свой тест, чтобы узнать класс ведьм и метод, который я тестирую. Знаете ли вы, есть ли способ извлечь это в классе Snippet? - person Luca; 27.07.2020