Если не указывать ничего -- будет выдавать весь список, если указывать ключ-значение, то будет отбирать по ним
localhost:8080/products
localhost:8080/products?name=foo
Возвращает список из Product
При учёте что есть поле name, остальные поля можно и не заполнять
localhost:8080/products?name=foo&info=bar
Возвращает идентификатор созданного товара
localhost:8080/products?id=1
Возвращает удалённый объект Product
Чтобы описать изменения необходимо прописать их как JSON-Объект в update
localhost:8080/products?id=1&update={"name":"name", "info":"info"}
Возвращает объект Product