Я генерирую классы ответов, которые могут предоставлять ссылки. Я бы не хотел показывать атрибут links в случае, если ссылка не указана, например, сейчас я получаю:
{
"links": [], <--not the best
"id": 1,
"category": {
"links": [],
"id": 3
}
Вместо этого я хотел бы иметь:
{
"id": 1,
"category": {
"id": 3
},
Я попытался определить глобальный маппер:
@Configuration
public class JacksonConfig {
@Autowired
private ObjectMapper objectMapper; //reuse the pre-configured mapper
@PostConstruct
public void setup() {
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
objectMapper.setDefaultPropertyInclusion(JsonInclude.Include.NON_EMPTY);
}
}
И для любого другого dto у меня это работает ... кроме ссылок hateoas! Что я делаю не так?
edit:
Думаю, я сделал шаг вперед. Это происходит только тогда, когда модель представления находится в списке:
@GetMapping("/pet")
public ResponseEntity<List<Pet>> getPets(){ <-- this returns empty links
@GetMapping("/pet")
public ResponseEntity<Pet> getPet(){ <-- this doesn't