URL / URI Tools

probar plantillas URIrevisa cada expresión

Introduce una plantilla y un objeto JSON para ver la URI y el fragmento generado por cada expresión.

probar plantillas URI

Plantilla URI

Variables JSON

Las plantillas y variables se procesan en este navegador. No se solicitan las direcciones introducidas ni las generadas.

URI expandida

Variables omitidas: Ninguna

Claves JSON sin usar: Ninguna

Detalle de expresiones

Línea 1, columna 24

{/version,resource}
  • Variable: version · Definida
  • Variable: resource · Definida

Parte expandida: /v1/search

Línea 1, columna 43

{?q,page,tags*}
  • Variable: q · Definida
  • Variable: page · Definida
  • Variable: tags* · Definida

Parte expandida: ?q=hello%20world&page=2&tags=red&tags=blue

Se muestran 2 de 2 expresiones

Sintaxis de expansión

RFC 6570 nivel 4: {var}, {+var}, {#var}, {.var}, {/var}, {;var}, {?var}, {&var}. :n limita el prefijo y * expande listas o mapas por elementos.

Límites en unidades UTF-16: plantilla 16.384, JSON 65.536, salida 262.144; hasta 500 expresiones.

2 expresiones · 0 variables omitidas · 75 unidades de salida

Una barra dentro de un identificador no siempre debe convertirse en un separador de ruta. Al probar plantillas URI con los valores reales puedes detectar ese cambio antes de usar la dirección en un cliente API.

La expansión también depende de si una variable es una cadena, una lista o un mapa. Este espacio permite comparar esas formas según RFC 6570 sin preparar una aplicación de prueba. Las referencias relativas son válidas, así que puedes empezar por una parte de la ruta.

Por qué probar plantillas URI aquí

Relaciona el resultado con su origen

Al probar plantillas URI, cada expresión conserva su posición y su fragmento de salida. Si desaparece un parámetro, comprueba si falta la variable, vale null o contiene una colección vacía. Una cadena vacía se identifica aparte porque sigue siendo un valor definido.

Los valores de colores encajan en los espacios de la plantilla y forman segmentos de ruta y consulta.

Comprueba qué cambia con el asterisco

{?tags} reúne la lista en un valor separado por comas. {?tags*} repite el nombre tags para cada elemento. En un mapa se usan las claves de sus miembros. Los fragmentos permiten entender la diferencia sin buscar cada separador en una dirección larga.

Arriba, tres elementos forman un único valor; abajo, se expanden en tres pares de consulta independientes.

Comprueba nombres, formas y vigencia

01

Usa claves literales

user.id es el nombre completo de una clave, no una ruta dentro de un objeto. Los nombres con secuencias porcentuales tampoco se decodifican. Mantén la misma escritura, incluidas mayúsculas, en la plantilla y en JSON.

02

Carga el ejemplo adecuado

El caso de caracteres reservados muestra barras que permanecen en la ruta. El de valores compuestos combina listas, mapas y prefijos Unicode. Antes de reemplazar los campos aparece una vista previa; después puedes restaurar una vez las entradas y su resultado.

03

Espera a tener un resultado actual

La ejecución automática espera 350 ms tras editar. Desactívala para usar el botón o Ctrl/Cmd + Enter. Cualquier cambio deshabilita de inmediato la copia y la descarga anteriores hasta que termine una expansión válida.

Operadores, valores y diagnóstico detallado

Los cuatro niveles del estándar

Probar plantillas URI permite usar expansión simple y los operadores +, #, ., /, ;, ? y &. :n toma un prefijo de 1–9999 caracteres Unicode y * desglosa listas o mapas. La codificación porcentual y los separadores los determina el operador.

Identificadores numéricos sin redondeo

Los números de JSON conservan su escritura original. Un entero como 9007199254740993 no pasa por coma flotante; tampoco se reescriben -0 ni la notación exponencial. Los booleanos se expanden como true o false. El informe conserva el texto de entrada para revisarlo.

Errores distintos de las omisiones

La sintaxis inválida de la plantilla o del JSON muestra línea y columna. Se rechazan claves duplicadas y los valores anidados se señalan mediante JSON Pointer. Una variable no definida se omite de forma normal: no es por sí misma un error de expansión.

Un informe para repetir la prueba

Copiar devuelve solo la URI. El informe JSON incluye plantilla, variables JSON originales, todas las expresiones y los nombres omitidos o no utilizados. La pantalla muestra grupos de 50 expresiones; la descarga incluye incluso las que aún no se han mostrado.

Qué entradas se aceptan y dónde termina la prueba

Un objeto de variables poco profundo
La raíz de JSON debe ser un objeto. Sus valores pueden ser cadenas, números, booleanos, null, listas de escalares o mapas de escalares. Los contenedores anidados se rechazan incluso cuando no se usan. No hay importación de archivos ni lotes de objetos de variables.
Vacío no significa ausente
Las claves ausentes, null y colecciones vacías se omiten; también se saltan miembros null. Una cadena vacía produce ?x= con {?x}, pero ;x con {;x}. Una plantilla vacía es válida si se proporcionan variables JSON válidas.
Los nombres se comparan exactamente
Se distinguen mayúsculas y minúsculas. Los puntos no recorren objetos y las secuencias porcentuales de los nombres no se decodifican ni normalizan. Las claves repetidas causan un error; el orden de un mapa sigue el JSON original.
No se corrige la dirección resultante
La expansión simple vuelve a codificar el signo %, mientras + y # conservan secuencias válidas y caracteres reservados. Los espacios literales no son válidos. Unicode se codifica como UTF-8 sin normalización; no se añade protocolo, URL base ni conversión de host.
Límites explícitos y salida completa
Los límites son 16.384, 65.536 y 262.144 unidades UTF-16 para plantilla, JSON y salida, con 500 expresiones. El analizador compartido admite profundidad 100, 50.000 nodos y números de hasta 1.000 caracteres. Un error impide exportar resultados parciales o anteriores.
Solo expansión hacia delante
No se ofrece asociación inversa con rutas, comprobación de conectividad, entrada remota, valores predeterminados ni ejecución de código. Los separadores los fija RFC 6570. Prepara una cadena en las variables cuando necesites una composición particular.

Preguntas al probar plantillas URI

¿Hay que codificar porcentualmente las llaves de una plantilla URI?

Conserva las llaves de las expresiones: /users/{id} incluye una variable. /users/%7Bid%7D contiene llaves literales codificadas y no se expande. No codifiques toda la plantilla antes de usarla; el operador se encarga de codificar los valores.

¿En qué se diferencia el operador / de otros prefijos en RFC 6570?

/ añade una barra delante de cada variable definida y de cada elemento de una lista con *. La expansión simple codifica las barras dentro de los valores. + las conserva, pero no añade ninguna por su cuenta. No son opciones equivalentes.

¿Puede RFC 6570 separar parámetros opcionales con espacios?

No existe un operador para un separador opcional arbitrario. Prepara una cadena con las palabras que necesites; sus espacios se convertirán en %20. Una lista con * sigue usando el separador de su operador, como / o &.

¿Se puede validar una plantilla URI RFC 6570 con una expresión regular?

Una expresión regular no comprueba los tipos de las variables. {items:3} puede tener una sintaxis correcta y ser inválida si items es una lista. Esta herramienta comprueba la expresión junto con los valores JSON e indica dónde falla.

¿Se pueden usar plantillas URI para asociar URI con rutas?

RFC 6570 define la expansión de variables a una URI. Recuperar los valores puede ser ambiguo con varias variables, caracteres reservados o mapas expandidos. Esta página no extrae parámetros de ruta de una URI; para eso necesitas una herramienta de correspondencia.

¿Hay algún problema?

Empieza a probar plantillas URI con tus datos

Compara los ejemplos de ruta y consulta con tu objeto de variables y guarda el informe del resultado actual.

Una plantilla, un objeto de variables y fragmentos que puedes revisar.