Объекты JPA в REST API - родительский toString () - PullRequest
0 голосов
/ 03 октября 2019

У меня есть API, который возвращает список interfaces из базы данных. Интерфейс имеет parrent Asset. Я хотел бы получить информацию об активе в ответе JSON, но не обо всем проекте. Я знал, что установка @jsonignore будет работать, но я хотел бы иметь возможность получить к нему доступ и другим способом.

Можно ли переопределить toString() метод Asset, поэтому только это значение будет возвращено интерфейсам?

@Entity
@EntityScan
@Table(name = "interface")
@EntityListeners(AuditingEntityListener.class)
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Interface {

    private Long id;
    private String privateip;
    private String floatingip;
    private String subnetId;
    private String macaddr;
    private Asset asset;
    //setters getters and relations
}

и

@Entity
@EntityScan
@Table(name = "asset")
@EntityListeners(AuditingEntityListener.class)
@Cacheable
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Asset {
    private Long id;
    private String name;
    private String assetId;
    private Project project;
    private String origin;
    private Boolean active;
    private Set<Interface> interfaces;
    //getters and setters
    @Override
    public String toString() {
        return this.name;
    }
}

Яэто не так удивляет, но эта конфигурация не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...