Документы Spring Rest — поддержка i18n

В настоящее время я думаю, как создать документы REST API для моего приложения с поддержкой нескольких языков. Конечные точки, имена параметров и возвращаемые значения должны оставаться прежними, но описание каждого метода REST я хочу предоставить на разных поддерживаемых языках.

Я использую Spring boot, data & rest и нашел этот проект документации, который мне кажется очень полезным. Во всяком случае, я не смог найти в документах никакой информации о теме/поддержке i18n.

Кто-нибудь знает, поддерживают ли документы Spring REST создание документа API для нескольких языков (в целом)?


person StephanM    schedule 22.03.2017    source источник


Ответы (1)


REST Docs не предоставляет какой-либо готовой поддержки I18N, но должно быть довольно просто создать что-то поверх него.

Основная часть, с которой связана REST Docs и которую, я думаю, вы хотели бы перевести, — это описания, включенные в различные фрагменты кода. Вместо того, чтобы жестко кодировать конкретное описание, вы можете искать каждое в ResourceBundle:

ResourceBundle resourceBundle = ResourceBundle.getBundle("field-descriptions");

mockMvc.perform(get("/").accept(MediaType.APPLICATION_JSON))
    .andExpect(status().isOk())
    .andDo(document("example", responseFields(
        fieldWithPath("a").description(resourceBundle.getString("a")),
        fieldWithPath("a.b").description(resourceBundle.getString("a.b")))));
person Andy Wilkinson    schedule 22.03.2017