Ответ
Да, в HTTP-запросе можно передать несколько значений для одного имени параметра. Поведение сервера при обработке таких параметров зависит от его реализации.
Как это выглядит в запросе:
GET /api/search?filter=category&filter=price&filter=date
POST /api/submit (body: name=John&name=Jane)
Как обрабатывается на стороне сервера (примеры):
- Spring Framework (Java): Автоматически собирает значения в массив или список.
@GetMapping("/search") public void handleRequest(@RequestParam("filter") List<String> filters) { // filters = ["category", "price", "date"] } - Servlet API (Java): Возвращает только первое значение по умолчанию. Чтобы получить все, нужно использовать
getParameterValues().String[] filters = request.getParameterValues("filter"); // Массив всех значений - Node.js (Express): Предоставляет массив значений.
app.get('/api/search', (req, res) => { console.log(req.query.filter); // ['category', 'price', 'date'] });
Практическое применение: Используется для передачи множественных значений, например, ID выбранных элементов, тегов или фильтров.