Сегодня у меня состоялся разговор с коллегой вокруг использования строк запроса в URL-адресах REST. Возьмите эти два примера:
1. http://localhost/findbyproductcode/4xxheua
2. http://localhost/findbyproductcode?productcode=4xxheua
Моя позиция заключалась в том, что URL-адреса должны быть спроектированы так, как в примере 1. Это более чистое и что я считаю правильным в REST. На мой взгляд, было бы совершенно правильно вернуть ошибку 404 из примера 1, если код продукта не существовал, тогда как пример 2, возвращающий 404, был бы неправильным, поскольку страница должна существовать. Его позиция заключалась в том, что это не имело значения и что они оба делают то же самое.
Поскольку ни один из нас не смог найти конкретные доказательства (по общему признанию, мой поиск не был обширным), я хотел бы узнать мнение других людей по этому поводу.