Я создаю веб-приложение Java системы управления запасами с веб-клиентом REST.Эта система должна позволять пользователям добавлять товары, просматривать товары и уже изменять количество товаров в базе данных.До сих пор я успешно реализовал добавление элементов - используя запросы POST - и просмотр их - используя запросы GET.Тем не менее, я испытываю некоторые трудности с изменением количества каждого предмета.Вот код для класса Product:
public class product {
private int quantity;
private String name;
static AtomicInteger nextId = new AtomicInteger();
private int id;
public product(String name, int quantity) {
this.name = name;
this.quantity = quantity;
id = nextId.incrementAndGet();
}
Метод Java для изменения количества продуктов:
public void addStock(String item, int stockLevel) {
boolean found = checkExists(item)
product product = getProduct(item);
if(found == false) {
a.setQuantity(stockLevel);
}
else {
}
}
Метод getProduct()
перебирает ArrayList, в котором хранятся все продуктычтобы получить конкретный продукт, который мне требуется, в то время как checkExists
проверяет, существует ли продукт в базе данных.Если элемент не существует, я использую метод setQuantity:
public void setQuantity(int amount) {
this.quantity = quantity + amount;
}
Что я хочу сделать, так это если пользователю нужно увеличить количество доступных элементов, чтобы отправить запрос PUT, чтобы изменитьКоличество предметов.Итак, я попробовал это:
@PUT
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public void addStock(String name, int amount) {
itemService.addStock(name, amount);
}
Однако, когда я запускаю это на сервере Tomcat, он сталкивается с несколькими ошибками.После некоторой базовой проверки ошибок я выясняю, что это связано с несколькими параметрами в методе addStock.
Мой вопрос заключается в том, что этот метод работает, только если я передаю один параметр: сумму или имя.Однако мне нужно и то, и другое изменить количество определенного элемента, и я не могу понять, как это сделать, имея возможность передавать только один параметр.Может ли кто-нибудь помочь мне здесь?Я пытался реализовать идентификатор для каждого продукта, который затем использовал бы, но я также не могу понять, как это сделать.Любая помощь приветствуется.