Карта Java-объекта - PullRequest
       3

Карта Java-объекта

0 голосов
/ 03 ноября 2018

Я хочу создать сервис для заполнения выпадающего списка из базы данных. Я попробовал это:

Торговый класс:

export class Merchant {
  constructor(
    public id: string,
    public name: string,
    public state_raw: string,
    public users: string,
  ) {}
}

Торговое обслуживание:

 getList(): Observable<Merchant> {
    return this.http.get<Merchant>(environment.api.urls.merchants.base, {});
  }

Rest Api impl:

@GetMapping
    public ResponseEntity<?> get() {
        return merchantRepository
                .findAll()
                .map(mapper::toDTO)
                .map(ResponseEntity::ok)
                .orElseGet(() -> notFound().build());
    }

SQL-запрос:

@Override
    public Iterable<Merchants> findAll() {
        String hql = "select e from " + Merchants.class.getName() + " e";
        TypedQuery<Merchants> query = entityManager.createQuery(hql, Merchants.class);
        List<Merchants> merchants = query.getResultList();
        return merchants;
    }

Но я получаю эту ошибку:

The method map(mapper::toDTO) is undefined for the type Iterable<Merchants>

Как правильно реализовать это отображение для ответа?

1 Ответ

0 голосов
/ 03 ноября 2018

Похоже, вы хотели потоковую передачу сущностей.

@GetMapping
public ResponseEntity<?> get() {
    return StreamSupport.stream(merchantRepository.findAll().spliterator(), false)
            .map(mapper::toDTO)
            .map(ResponseEntity::ok)
            .findFirst()
            .orElseGet(() -> notFound().build());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...