Extraia parâmetros de rota OpenAPI na ordem
Os modelos de rota OpenAPI colocam segmentos variáveis entre chaves, mas geradores de documentação, construtores de requisições, dados de teste e geradores de código geralmente precisam desses nomes em uma lista ordenada.
Executar grátis
Esta capacidade percorre um modelo da esquerda para a direita, retorna cada parâmetro na posição original e rejeita chaves de abertura ou fechamento sem par. Ela é determinística, não acessa a rede e sempre produz o mesmo resultado para a mesma entrada, sendo adequada para scripts de build, etapas de validação, editores e fluxos automatizados de API.
Transforme um modelo de rota em uma lista ordenada
Uma operação OpenAPI pode usar uma rota como <code>/users/{id}/posts/{postId}</code>, enquanto as ferramentas ao redor precisam dos nomes <code>id</code> e <code>postId</code> como valores separados. O extrator lê o modelo do primeiro ao último caractere e retorna os parâmetros nessa mesma ordem. A ordem importa porque um construtor de requisições, servidor simulado, exemplo de documentação ou gerador de testes pode associar valores às posições em que aparecem na URL. A varredura não ordena, remove duplicatas, renomeia nem normaliza o texto capturado. Se um nome aparecer duas vezes, ele também aparecerá duas vezes no resultado, representando fielmente o modelo enviado. Segmentos estáticos são ignorados; portanto, barras, versões, sinais e texto comum fora das chaves não geram ruído. Um modelo sem segmentos delimitados por chaves é válido e retorna uma lista vazia. Esse comportamento específico torna o resultado previsível e fácil de incorporar a um processamento OpenAPI maior, sem transformações ocultas.
Encontre chaves incorretas antes das etapas seguintes
Uma chave ausente pode comprometer silenciosamente as etapas posteriores. Por exemplo, um gerador pode interpretar todo o restante da rota como um único parâmetro, ou um renderizador de documentação pode exibir um modelo que jamais corresponde a uma requisição. Por isso, o extrator rejeita uma chave de fechamento sem abertura anterior, uma chave de abertura que nunca fecha e uma segunda abertura encontrada antes do fechamento do parâmetro atual. O erro informa a posição da chave, facilitando o diagnóstico de modelos inválidos em logs de build ou ferramentas interativas. A validação acontece durante a mesma varredura linear usada para a extração, então não existe um estado de análise separado que possa divergir da lista retornada. Modelos equilibrados seguem normalmente, inclusive aqueles com nomes repetidos ou sem parâmetros. A capacidade se concentra especificamente na estrutura das chaves; ela não valida um documento OpenAPI completo, não verifica se os objetos de parâmetro declarados existem nem decide se o nome capturado segue a convenção da sua equipe. Essas verificações mais amplas pertencem à validação de esquema ou especificação.
Use o resultado em geradores, testes e ferramentas de API
A lista retornada foi projetada como um valor intermediário pequeno e combinável. Um gerador de código pode compará-la aos parâmetros de rota declarados na operação, um criador de testes pode produzir um campo de dados para cada nome e uma interface de requisições pode exibir controles na ordem da rota. Um analisador também pode executar a extração primeiro e parar imediatamente quando a estrutura das chaves estiver incorreta, evitando erros secundários confusos. Como o algoritmo usa apenas uma varredura determinística de caracteres, ele não faz chamadas de rede, não armazena a entrada, não utiliza valores aleatórios e não depende do horário atual. Isso permite repeti-lo com segurança em integração contínua e armazenar seu resultado em cache por entrada. Envie o modelo de rota no campo <code>text</code> e leia a lista ordenada em <code>parameters</code>. A execução pela API custa US$ 0,002 por solicitação, enquanto a versão do navegador pode ser executada localmente. Esta capacidade extrai nomes de um único modelo; ela não resolve variáveis de servidor, substitui valores, codifica segmentos de URL nem analisa um arquivo OpenAPI completo em YAML ou JSON.
Casos de uso
Confira declarações de operações
Compare os nomes extraídos aos parâmetros de rota declarados no OpenAPI e sinalize declarações ausentes ou excedentes.
Monte formulários de requisição
Crie controles de entrada na mesma ordem em que as variáveis aparecem no modelo de rota.
Gere testes de API
Converta variáveis de rota em campos ordenados de dados antes de inserir valores de teste nas requisições.
Perguntas frequentes
O que a capacidade retorna?
Ela retorna uma lista parameters com cada nome delimitado por chaves, na ordem da esquerda para a direita.
O que acontece quando uma chave não tem par?
A solicitação falha com um erro de entrada inválida que informa se a chave sem par abre ou fecha e apresenta seu índice.
Os nomes de parâmetros repetidos são removidos?
Não. Os nomes repetidos permanecem no resultado porque a saída representa cada ocorrência na ordem do modelo.
A capacidade valida um documento OpenAPI completo?
Não. Ela examina um modelo de rota e suas chaves; não analisa YAML, JSON, operações nem declarações de parâmetros.
Quanto custa uma solicitação pela API?
Cada solicitação pela API custa US$ 0,002. A versão do navegador pode ser executada sem enviar o modelo a um servidor.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/openapi-path-params-extract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"/users/{id}/posts/{postId}"}'const res = await fetch("https://api.kit.forhosting.com/dev/openapi-path-params-extract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "/users/{id}/posts/{postId}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/openapi-path-params-extract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "/users/{id}/posts/{postId}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/openapi-path-params-extract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"/users/{id}/posts/{postId}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"/users/{id}/posts/{postId}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/openapi-path-params-extract", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "/users/{id}/posts/{postId}"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.openapi_path_params_extract",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |