Я хочу создать REST API для библиотеки (конечные точки - это клиенты и счета). Одной из функций является добавление счета-фактуры (запрос PUT с идентификатором клиента). Во-первых, я должен проверить, существует ли переданный идентификатор клиента (через PUT в URL), это означает, что нужно проверить customerMap и посмотреть обсуждаемый идентификатор. Проблема заключается в том, что customerMap является HashMap в классе clientService (а не в классе invoiceService) (вместо базы данных используется карта). Как я могу добраться до данных, хранящихся на карте? Настоящую соответствующую часть кода:
клиент
public class client {
private static final AtomicLong counter = new AtomicLong();
private final long id;
public client() {
this.id = counter.getAndIncrement();
}
public long getId() {
return id;
}
}
clientService
public class clientService {
public Map<Long, client> clientMap = new HashMap<>();
public client put(client g) {
clientMap.put(g.getId(), g);
return g;
}
public Collection<client> getAll() {
return clientMap.values();
}
}
счет-фактура
invoice {
private static final AtomicLong counter = new AtomicLong();
private final long id;
private client client;
public invoice() {
this.id = counter.getAndIncrement();
}
public long getId() {
return id;
}
}
invoiceService
public class invoiceService {
private Map<Long, invoice> invoiceMap = new HashMap<>();
public Rechnung createinvoice(invoice g, long id) {
if(<!--client exists-->)
invoicegMap.put(g.getId(), g);
return g;
}}