Explicación corta:

El caracter "/" está reservado para denotar jerarquías en la URL, por lo tanto solamente se puede utilizar para ello.

Explicación detallada:

Al consultar endpoints de la API web, como el de clientes:

GET
/api/v2/customer/{customerCode}

Si el código de cliente contiene espacios, u otros símbolos, debe de codificarse como UTF-8, donde un código de cliente como 

MI CLIENTE

Se codifica a:

MI%20CLIENTE%0A

Esto lo puedes probar en un codificador en línea, o en tu lenguaje de programación favorito.

Codificar de esta manera, permite incluir en tus códigos de cliente caracteres como puntos, símbolos +, -, etc.

Sin embargo, el caracter "/" es un caracter reservado en el uso de URLs, que sirve para denotar jerarquía, como lo indica la W3, el consorcio que estandariza la web:

https://www.w3.org/Addressing/URL/4_URI_Recommentations.html

Por lo tanto, el framework web que utilizamos toma las diagonales en las URLs de la misma manera, como separador de jerarquía.

Para poder utilizar estos endpoints de la API, la recomendación sería remover las diagonales del código de cliente, si es que se tienen.


Puede resultar un poco confuso pues Handy permite que utilices diagonales en el código de producto o cliente, pero este problema solamente se presenta si lo usas en colaboración con la API.

Vamos a trabajar en mejorar este componente para en el futuro poder especificar la diagonal en el cuerpo de la solicitud.

¿Encontró su respuesta?