Pular para o conteúdo principal

Annotations

Use annotations para mapear verbos HTTP diretamente em funções ou métodos compilados no RPO, sem arquivo externo de rotas.

Primeira API?

Se você acabou de concluir o Quickstart, já usou @Get — esta página explica os demais verbos e opções da annotation.

Trilha deste bloco (Servidor e rotas)

EtapaO que você aprendeComece em
1 — Annotations@Get / @Post e propriedadesEsta página
2 — Sem annotationLoadURNs e rotas dinâmicasSem annotation
3 — Referência INIChaves do appserver.iniReferência INI
4 — Referência JSONConfiguração via JSONReferência JSON
5 — Avisos e dicasCuidados antes do oRESTAvisos e dicas

Verbos

AnnotationUso típico
@GetLer recurso
@PostCriar recurso
@PutSubstituir recurso
@PatchAtualizar parcialmente
@DeleteRemover recurso

Propriedades da annotation

PropriedadeObrigatórioFunção
endpointSimURN da rota, relativa ao path virtual do INI
descriptionNãoTexto para documentação OpenAPI (trilha Doc Generate, opcional para expor a API)
title, params, responsesNãoMetadados OpenAPI adicionais na própria annotation

Para expor a rota, só o endpoint importa. Os demais campos são opcionais e servem para o Doc Generate.

Exemplo — roteamento

@Get("users/:id")
User Function getUser()
Local jParams := oRest:getPathParamsRequest()
// jParams["id"] contém o valor capturado na URL
Return .T.

Path params usam :nome no endpoint. O valor fica disponível via oRest:getPathParamsRequest() — você verá os detalhes em Leitura da requisição (seção oREST).

Exemplo — com metadados OpenAPI (opcional)

Se você também quer gerar documentação OpenAPI a partir do código, pode enriquecer a annotation com title, description, params e responses. A API funciona igual — esses campos só alimentam o motor REST-DOC:

Para o detalhe de cada propriedade (description, params, responses, i18n, etc.), use a trilha Doc Generate quando for documentar a API — não é necessário para o primeiro endpoint funcionar. O statusCode em responses é descritivo; o status real depende de oRest:setStatusResponse() no código.

Exemplos no GitHub

Verbos HTTP e annotations em Configurações e Verbos · GET:

Próximo passo: Sem annotation