DocsBaseado em arquivo
Rotas dinâmicas
Um segmento de caminho escrito entre colchetes corresponde a qualquer valor e o entrega à página ou ao manipulador.
Segmentos dinâmicos
blog/[slug].nexy serve /blog/{slug}. Numa página, declare o segmento como uma propriedade; em um manipulador Python, tome isso como um argumento.
slug: prop[str]<h1>{{ slug }}</h1>async def GET(id: int): return {"id": id}Segmentos digitados
A anotação decide o tipo.
| Onde | Conversão |
|---|---|
.py manipulador |
qualquer anotação de tipo FastAPI (int, UUID, Enum...) |
.nexy página |
int e float são convertidos; todo o resto permanece uma string |
Um valor que não corresponde à anotação é não encontrado: /api/users/abc respostas 404, porque uma rota dinâmica captura qualquer URL e uma URL que não pode ser convertida simplesmente não existe. Consulte Validação e erros.
Segmentos abrangentes
docs/[...path].nexy serve /docs/{path:path}. Os segmentos restantes chegam como uma string, incluindo barras.
path: prop[str]<pre>{{ path }}</pre>/docs/a/b/c dá path == "a/b/c".
Grupos de rotas
Um diretório entre parênteses organiza os arquivos sem aparecer na URL. Ele ainda participa da herança: seus layout.* e dependencies.py aplicam-se ao que está dentro.
Use grupos para fornecer layouts diferentes a seções diferentes sem alterar seus URLs.
Prioridade
As rotas estáticas vencem as dinâmicas, e as dinâmicas vencem as abrangentes: /blog/new corresponde a blog/new.nexy antes de blog/[slug].nexy.
Um arquivo por URL
Dois arquivos que resolvem para o mesmo URL são registrados. Não coloque blog.nexy próximo a blog/index.nexy, ou misture index.nexy e index.py para o mesmo caminho.