Olá Marcos, bom dia!
Infelizmente na nossa versão os links também permanecerão assim.
Não localizei nenhuma opção de customização global no SpringFox.
Teremos duas opções, uma seria criar uma classe chamada CidadeCollectionModelOpenApi, e lá criar uma propriedade _links.
Ou na classe CidadeModel, adicionar a seguinte propriedade:
@JsonProperty("_links")
@Override
public Links getLinks() {
return super.getLinks();
}
Assim o SpringFox irá ler a configuração do Jackson.
Marcos Ferreira Alves
Bom dia Alex! Muito obrigado por sua resposta, realmente utilizando o JsonProperty funciona.
Isso me deu uma direção nas pesquisas e consegui elaborar uma solução global.
analisando [essa issue do spring hateoas](https://github.com/spring-projects/spring-hateoas/issues/111) identifiquei que existe classes Mixin para configurar o suporte ao HAL no spring hateoas.
Seguindo a [doc do spring fox](https://springfox.github.io/springfox/docs/current/) no item 6.1 identifiquei que tem como personalizar o objetMapper que ele utiliza.
Então registrei esse módulo no object mapper do springfox e resolveu esse problema de forma global.
package com.algaworks.algafood.core.springfox;
import org.springframework.context.ApplicationListener;
import org.springframework.hateoas.mediatype.hal.Jackson2HalModule;
import org.springframework.stereotype.Component;
import springfox.documentation.schema.configuration.ObjectMapperConfigured;
@Component
public class HALSupportSpringFox implements ApplicationListener<ObjectMapperConfigured> {
@Override
public void onApplicationEvent(ObjectMapperConfigured event) {
event.getObjectMapper().registerModule(new Jackson2HalModule());
}
}
Alex SilvaTutor
Olá Marcos muito obrigado pelo retorno!
Isso certamente servirá de grande ajuda. Realmente o SpringFox usa um ObjectMapper diferente do Spring, e não conhecia como customizá-lo.
Futuramente, acredito que essa configuração não será necessária no módulo do SpringDoc.