---
# System prepended metadata

title: Manipulação de query params no router

---

# Manipulação de query params no router

Atualmente o router depende de uma regex para fazer o encoding dos query parameter. Isso impoem limite para os parametros sendo eles:
* O nome do parametro só pode conter letras e numeros
* O valor não pode ter &, mesmo que encodado.


![](https://i.imgur.com/ZYjyf42.png)


Para elimiar essas limitações que e criar uma aplicação mais robusta é necessário ajustar a manipulação e query params dentro do projeto. Hoje a manipulação é feita toda por string, uma solução mais viavel seria fazer a manipulação por chave e valor usando um map.

A idéia inical seria utilizar a class `QueryStringContainer` para fazer a manipulação das querys params por chave e valor, essa classe ja controla e manipula as customs querys params por chave e valor, porem as querys standars ainda são mantidas e manipuladas como string.

![](https://i.imgur.com/CcsMhgA.png)

Essa alteração vai afetar diverssos pontos, que terão que ser ajustados para se adequar a nova implementação:

![](https://i.imgur.com/6Unznz6.png)

![](https://i.imgur.com/edZ6oSy.png)
