Definir a propriedade OpenAPI do basePath - Amazon API Gateway

Definir a propriedade OpenAPI do basePath

No OpenAPI 2.0, você pode usar a propriedade basePath para fornecer uma ou mais partes de caminhos que precedem cada caminho definido na propriedade paths. Como o API Gateway tem várias maneiras de expressar um caminho de um recurso, o recurso Import API (Importar API) fornece as seguintes opções para interpretar a propriedade basePath durante uma importação: ignorar, preceder e dividir.

No OpenAPI 3.0, basePath não é mais uma propriedade de nível superior. Em vez disso, o API Gateway usa uma variável de servidor como convenção. O recurso Import API (Importar API) fornece as mesmas opções para interpretar o caminho base durante a importação. O caminho base é identificado da seguinte forma:

  • Se a API não contém variáveis basePath, o recurso Import API (Importar API) verifica a string server.url para conferir se ela contém um caminho além de "/". Se sim, esse caminho será usado como caminho base.

  • Se a API contém apenas uma variável basePath, o recurso Import API (Importar API) a usa como caminho base, mesmo que ela não seja indicada no server.url.

  • Se a API contém várias variáveis basePath, o recurso Import API (Importar API) usa apenas a primeira como caminho base.

Ignore

Se o arquivo do OpenAPI tiver um valor basePath de /a/b/c, e a propriedade paths contiver /e e /f, a seguinte solicitação POST ou PUT:

POST /restapis?mode=import&basepath=ignore

PUT /restapis/api_id?basepath=ignore

resultará nos seguintes recursos na API:

  • /

  • /e

  • /f

O efeito é tratar basePath como se ele não estivesse presente, e todos os recursos da API declarados são atendidos em relação ao host. Isso pode ser usado, por exemplo, quando você tem um nome de domínio personalizado com um mapeamento de API que não inclui um caminho base e um valor de estágio que faz referência ao seu estágio de produção.

nota

O API Gateway cria automaticamente um recurso raiz para você, mesmo que ele não esteja explicitamente declarado no seu arquivo de definição.

Quando não especificado, o basePath pega ignore por padrão.

Prepend

Se o arquivo do OpenAPI tiver um valor basePath de /a/b/c e a propriedade paths contiver /e e /f, a seguinte solicitação POST ou PUT:

POST /restapis?mode=import&basepath=prepend

PUT /restapis/api_id?basepath=prepend

resultará nos seguintes recursos na API:

  • /

  • /a

  • /a/b

  • /a/b/c

  • /a/b/c/e

  • /a/b/c/f

O efeito é tratar basePath como se recursos adicionais estivessem sendo especificados (sem métodos) e adicioná-los ao conjunto de recursos declarados. Isso pode ser usado, por exemplo, quando diferentes equipes são responsáveis por diferentes partes de uma API e o basePath pode fazer referência ao local do caminho para a parte da API de cada equipe.

nota

O API Gateway cria recursos intermediários automaticamente para você, mesmo que eles não estejam explicitamente declarados na sua definição.

Split

Se o arquivo do OpenAPI tiver um valor basePath de /a/b/c e a propriedade paths contiver /e e /f, a seguinte solicitação POST ou PUT:

POST /restapis?mode=import&basepath=split

PUT /restapis/api_id?basepath=split

resultará nos seguintes recursos na API:

  • /

  • /b

  • /b/c

  • /b/c/e

  • /b/c/f

O efeito é tratar a parte do caminho mais no início, /a, como o início do caminho de cada recurso e criar recursos adicionais (sem método) na própria API. Isso pode ser usado, por exemplo, quando a é um nome de estágio que deseja expor como parte da sua API.