I'm mapping an endpoint to fetch an object by it's ID from an array of Objects
this is my request mapping:
@RequestMapping(value ="/items/{Id}", method = RequestMethod.GET) 
public Item getItemById(@PathVariable("Id") String Id) throws NoSuchItem {
return ItemList.getItemById(Id);
}
this is my getItemById function in my ItemList class,
 private static ArrayList<Item> itemList;
 public static Item getItemById(String id) throws NoSuchItem {
    for(Item x:itemList){
         if(x.getId()== id)
          return x;
     }
     throw new NoSuchItem();
 }
this is the JSON representation of my itemList array which has 3 Item objects,
[
{
    "name": "Mars",
    "supplier": "Nestle",
    "weight": "1",
    "id": "mars",
    "location": null
},
{
    "name": "Kit Kat",
    "supplier": "Nestle",
    "weight": "1",
    "id": "kitkat",
    "location": null
},
{
    "name": "Double Decker",
    "supplier": "Nestle",
    "weight": "1",
    "id": "dd",
    "location": null
}
]
I want my /items/{id} endpoint to return only the desired Item, But it throws a 404 error, what am I doing wrong here?
PS- I'm sending my requests through POSTMAN
the cURl command for my postman request is as follows;
curl --location --request GET 'localhost:8082/items/mars'
 
    