I have Spring Boot application with Thymeleaf in which there is a button increase and decrease amount of products in basket. And it is not working.
This is my Controller:
@GetMapping("/decrease{basketItemIndex}")
public String decreaseAmountOfProductsInBasket(@PathVariable Integer basketItemIndex){
basketService.decreaseAmount(basketItemIndex);
return "redirect:/basket/";
}
@GetMapping("/increase{basketItemIndex}")
public String increaseAmountOfProductsInBasket(@PathVariable Integer basketItemIndex){
basketService.increaseAmount(basketItemIndex);
return "redirect:/basket/";
}
This is my Service:
public void decreaseAmount(int basketItemIndex) {
if (basketItems.get(basketItemIndex).getAmount() == 1)
basketItems.remove(basketItemIndex);
else {
basketItems.get(basketItemIndex).setAmount(-1);
}
}
public void increaseAmount(int basketItemIndex) {
basketItems.get(basketItemIndex).setAmount(+1);
}
And this is my thymeleaf:
th:href="@{/basket/decrease/{index}(index=${stat.index})}"
Please help me find where I have made a mistake.
-1
, +1
use --amount
, ++amount
to decrement and incrementpublic void decreaseAmount(int basketItemIndex) {
if (basketItems.get(basketItemIndex).getAmount() == 1)
basketItems.remove(basketItemIndex);
else {
int amount = basketItems.get(basketItemIndex).getAmount();
basketItems.get(basketItemIndex).setAmount(--amount);
}
}
public void increaseAmount(int basketItemIndex) {
int amount = basketItems.get(basketItemIndex).getAmount();
basketItems.get(basketItemIndex).setAmount(++amount);
}
@GetMapping("/decrease{basketItemIndex}")
to
@GetMapping("/decrease/{basketItemIndex}")
(add the slash after the decrease
)