javascript / expert
Snippet
Proxy-basierte dynamische Routensuchparameter-Validierung und Array-Transformation
Die Handhabung von URL-Suchparametern in Next.js Route Handlern erfordert oft wiederkehrendes Parsing. Die Verwendung eines JavaScript `Proxy`-Traps um `URLSearchParams` fängt Eigenschaftszugriffe ab, erzwingt ein striktes Schlüssel-Whitelisting und liefert bereinigte Array-Strukturen für kommagetrennte Parameterlisten zurück.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
export function createValidatedParamsProxy(searchParams, allowedKeys) {return new Proxy(searchParams, {get(target, prop) {if (typeof prop === 'string' && !allowedKeys.includes(prop)) {return undefined;}const values = target.getAll(String(prop));return values.flatMap(v => v.split(',')).map(v => v.trim());}});}
nextjs
Erklärung
1
return new Proxy(searchParams, {
Erstellt einen JavaScript Proxy-Trap um URLSearchParams, um Eigenschaftszugriffe dynamisch abzufangen.
2
return values.flatMap(v => v.split(',')).map(v => v.trim());
Wandelt Mehrfachparameter und kommagetrennte Listen in ein bereinigtes Array getrimmter Strings um.