Как не дать весенним хатеоам вернуть пустые ссылки? - PullRequest
0 голосов
/ 10 апреля 2020

Я генерирую классы ответов, которые могут предоставлять ссылки. Я бы не хотел показывать атрибут 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
...