Описание поля Spring-restdocs из аннотаций
Можно ли использовать аннотации (на уровне полей) для описания полей?
Я знаю, что могу использовать description
метод для этого
.andDo(document("index", responseFields(
fieldWithPath("contact").description("The user's contact details"),
но я бы предпочел поместить это описание вместе с определением поля в мой объект ответа.
class IndexResponse {
//The user's contact details
String contract;
}
Я знаю, что мог бы генерировать описания ограничений ( http://docs.spring.io/spring-restdocs/docs/current/reference/html5/), но он генерировал описание только для аннотаций проверки.
Я ищу что-то вроде https://github.com/swagger-api/swagger-core/wiki/Annotations от Swagger.
2 ответа
Это не так. Я возглавляю проект REST Docs, и я считаю, что аннотации не являются хорошим способом написания документации. Если вы не согласны с этим мнением и хотите использовать аннотации, вы можете написать дополнение, аналогичное тому, что сделано из описаний ограничений. Вы можете передать ему класс для самоанализа и автоматически сгенерировать FieldDescriptor
экземпляры, которые можно затем передать в фрагменты поля запроса и ответа.
Мы создали расширение для Spring REST Docs, которое позволяет использовать Javadoc для описания полей:
class IndexResponse {
/**
* The user's contact details
*/
String contract;
}
Но в настоящее время это работает, только если используются тесты Джексона и MockMvc.
Проект: https://github.com/ScaCap/spring-auto-restdocs
Вступительная статья: https://dzone.com/articles/introducing-spring-auto-rest-docs