Linha 1, coluna 24
{/version,resource}- Variável:
version· Definida - Variável:
resource· Definida
Trecho expandido: /v1/search
URL / URI Tools
Insira um modelo e um objeto JSON para conferir a URI e a contribuição de cada expressão.
Os modelos e as variáveis ficam neste navegador. Nenhum endereço informado ou gerado é acessado.
Variáveis omitidas: Nenhuma
Chaves JSON não usadas: Nenhuma
Linha 1, coluna 24
{/version,resource}version · Definidaresource · DefinidaTrecho expandido: /v1/search
Linha 1, coluna 43
{?q,page,tags*}q · Definidapage · Definidatags* · DefinidaTrecho expandido: ?q=hello%20world&page=2&tags=red&tags=blue
Exibindo 2 de 2 expressões
RFC 6570 nível 4: {var}, {+var}, {#var}, {.var}, {/var}, {;var}, {?var}, {&var}. :n limita o prefixo e * expande listas ou mapas por item.
Limites em unidades UTF-16: modelo 16.384, JSON 65.536, saída 262.144; até 500 expressões.
2 expressões · 0 variáveis omitidas · 75 unidades na saída
Ao montar um endereço de API, uma barra dentro de um ID pode precisar virar %2F, enquanto as barras do caminho devem continuar intactas. O expansor de modelos URI permite testar essas situações com valores reais antes de levar o modelo para o cliente.
Modelos URI também descrevem como listas e mapas viram parâmetros. A expansão segue o RFC 6570 e aceita referências relativas, por isso você pode investigar apenas um caminho ou uma consulta, sem inventar um domínio para completar o endereço.
O expansor de modelos URI relaciona cada expressão à sua posição e ao trecho produzido. Quando um parâmetro não aparece, verifique se a variável está ausente, é null ou contém uma coleção vazia. Uma string vazia tem seu próprio estado, pois continua definida.
{?tags} reúne uma lista em um único valor separado por vírgulas. {?tags*} repete tags para cada item. Um mapa expandido usa as chaves dos membros. Os detalhes deixam essa estrutura visível sem precisar procurar os separadores no endereço inteiro.
user.id identifica literalmente a chave "user.id", sem acessar um objeto interno. Sequências percentuais em nomes também não são decodificadas. Mantenha a mesma grafia e as mesmas maiúsculas no modelo e nas variáveis JSON.
O exemplo de caracteres reservados mantém as barras de um caminho. O exemplo composto mostra listas, mapas e prefixos Unicode. Carregar um exemplo abre uma prévia; depois de aplicar, Desfazer restaura uma vez as entradas e o resultado anterior.
A expansão automática espera 350 ms após uma edição. Desative-a para usar o botão ou Ctrl/Cmd + Enter. Alterar os dados bloqueia imediatamente as cópias e os downloads antigos, até que a entrada atual seja expandida com sucesso.
O expansor de modelos URI aceita expansão simples e os operadores +, #, ., /, ;, ? e &. :n limita o valor a 1–9999 caracteres Unicode, enquanto * expande listas e mapas. A codificação percentual e os separadores são determinados pelo operador.
Os números JSON são tratados com sua escrita original. O inteiro 9007199254740993 não passa por ponto flutuante, e -0 ou notação exponencial também não são reescritos. Valores booleanos viram true ou false. O texto das variáveis acompanha o relatório para conferência.
Erros de sintaxe no modelo e no JSON mostram linha e coluna. Chaves duplicadas são recusadas; valores aninhados são identificados por JSON Pointer. Variáveis indefinidas são omitidas conforme o padrão, sem transformar essa ausência em erro de execução.
Copiar entrega apenas a URI. O relatório JSON inclui o modelo, o texto original das variáveis, todas as expressões e os nomes omitidos ou não usados. A página mostra 50 expressões por vez; o download inclui também as que ainda não foram exibidas.
Mantenha as chaves das expressões: /users/{id} contém uma variável. Já /users/%7Bid%7D contém chaves literais codificadas e não é expandido. Não faça a codificação da URL inteira antes de usar o modelo; o operador cuida da codificação dos valores.
/ insere uma barra antes de cada variável definida e de cada item de uma lista com *. A expansão simples codifica as barras dentro dos valores. + preserva essas barras, mas não acrescenta uma nova. São comportamentos distintos.
Não existe operador para um separador opcional arbitrário. Prepare uma string com as palavras desejadas; os espaços serão convertidos em %20. Uma lista com * continua usando o separador do operador escolhido, como / ou &.
Uma expressão regular sozinha não verifica o tipo dos valores. {items:3} pode ter sintaxe válida, mas falha se items for uma lista. Esta ferramenta verifica expressões e variáveis em conjunto, indicando a posição do erro.
O RFC 6570 define a expansão de variáveis para uma URI. Recuperar os valores pode ser ambíguo com várias variáveis, caracteres reservados ou mapas expandidos. Esta página não extrai parâmetros de rota a partir de uma URI.
Encontrou um problema?
Compare o caminho ou a consulta com seu objeto de variáveis e salve o relatório do resultado atual.
Um modelo, um objeto de variáveis e trechos que podem ser conferidos.