RequestParam busca pelo nome completo ou parte do nome recebido como parâmetro

Programadores Boa tarde., preciso que me ajudem.

Se o parâmetro nome for completo, a rota retornará
apenas um usuário; se for apenas parte do nome=el%,
pode ser retornada uma lista de usuários ex(elton, eliane, elon) isso que deveria ser retornado.

class UserController
controller

class UserService
service

interface UserRepository
repository

class User

class UserDTO

postman

retorno

Lembre-se que o % na rota é um valor especial, que permite vc indicar o código de um caracter especial a ser inserido (ex %20 para um espaço).

Se você quer realmente mandar o %, vc teria que usar %25:
http://localhost:8080/users/search?nome=el%25

1 curtida

Ele me perguntou no privado porque funcionou. Colando aqui a explicação detalhada para quem precisar:
O negócio é o seguinte. Toda URL tem algumas regrinhas de escrita (isso em inglês é chamado de encoding, que é a palavra para codificação). Elas servem para evitar que caracteres especiais (tais como a ?, &, = ou o %) não sejam se tornem ambíguos.

Por exemplo, digamos que você queria procurar por um nome como ben&jerry. Sem as regras, a url ficaria assim:

http://localhost:8080/users/search?nome=ben&jerry

Agora, você deve lembrar que o & serve para separar dois parâmetros. Então, como ele saberia que esse & é parte do nome, e não um separador para uma busca de uma segunda variável chamada Jerry?

As regras de codificação resolvem isso. Uma delas é que esses caracteres não podem ser usados diretamente. Eles precisam ser substituídos por um sinal de %, seguido do código do caracter. Então, ao invés de escrever ben&jerry, você escreve:
http://localhost:8080/users/search?nome=ben%26jerry

Sendo esse “%26” um comando de “use o caracter de código 26”, no caso o &.

Bem, mas como o % é justamente o caractere usado para representar outros caracteres, como representamos o %? Do mesmo jeito. Temos que usar o % seguido do código dele em questão.

Existem sites em que você pode colocar um texto e ele gera essa codificação para você. Um exemplo é esse aqui:

URL Encode

URL Encode and Decode - Online

Encode to URL-encoded format or decode from it with various advanced options. Our site has an easy to use online tool to convert your data.

Se eu entrar lá e colocar algo como
Vinícius%de Mendonça

Ele vai mostrar que a maneira correta de se colocar isso em uma URL é:
Vin%C3%ADcius%25de%20Mendon%C3%A7a