Создать ответ формата YAML в Springboot - PullRequest
0 голосов
/ 16 октября 2019

Я хочу сгенерировать ответ типа YAML с использованием Spring boot. не могли бы вы помочь мне здесь, чтобы получить его?

1 Ответ

1 голос
/ 16 октября 2019

Убедитесь, что у вас есть следующая зависимость от пути к классу:

<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>${jackson.version}</version>
</dependency>

Затем определите свой собственный HttpMessageConverter:

class MappingJackson2YamlHttpMessageConverter extends AbstractJackson2HttpMessageConverter {

    MappingJackson2YamlHttpMessageConverter(ObjectMapper objectMapper) {
        super(objectMapper, MediaType.parseMediaType("application/x-yaml"));
    }
}

Представьте его как пружину @Bean:

@Configuration
public class JacksonYamlConfig {

    @Bean
    public MappingJackson2YamlHttpMessageConverter yamlHttpMessageConverter() {

        YAMLMapper mapper = new YAMLMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);

        return new MappingJackson2YamlHttpMessageConverter(mapper);
    }
}

И, наконец, настройте метод контроллера для получения YAML:

@GetMapping(produces = "application/x-yaml")
public ResponseEntity<Foo> getFoo() {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...