Описание поля 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

Другие вопросы по тегам