Publicar um documento OpenAPI (Swagger) para a API REST do seu app no Jitterbit App Builder
Introdução
Um documento OpenAPI (Swagger) é uma descrição padronizada e legível por máquina de uma API REST, definida pela Especificação OpenAPI. Desde o App Builder 4.67, você pode publicar um documento OpenAPI (Swagger) que descreve a API REST do seu app, em formato JSON ou YAML. Qualquer ferramenta que suporte OpenAPI, seja outros aplicativos da plataforma Harmony (como o API Manager) ou ferramentas externas de terceiros, pode recuperar este documento sem autenticação para descobrir automaticamente os endpoints disponíveis do seu aplicativo, seus parâmetros e o método de autenticação que cada um requer. Esta página descreve como publicar este documento, onde ele está disponível, o que ele inclui e como os métodos de autenticação são mapeados. No final, há uma lista de problemas conhecidos e limitações atuais.
O App Builder também pode fazer a operação inversa; ou seja, consumir um documento OpenAPI externo para criar um endpoint REST. Consulte Importar um documento OpenAPI (Swagger) para criar um endpoint para saber mais.
Publicar um documento OpenAPI
O App Builder não publica um documento OpenAPI para as APIs do seu aplicativo por padrão. Antes de publicar um, você deve ter publicado o app como um endpoint de API REST. Para publicar um documento OpenAPI, siga estas etapas:
-
Acesse IDE > REST APIs.
-
Localize o aplicativo para o qual deseja publicar um documento OpenAPI e clique no ícone de chevron em seu tile. A página REST API dessa API é aberta.
Se você não vir seu aplicativo listado, ainda não o publicou como um endpoint de API REST.
-
No painel Service, clique em Edit.
-
Marque a opção Publish Documentation. Isso informa ao App Builder para gerar e publicar o documento OpenAPI.
-
Opcionalmente, forneça um Summary e uma Description.
-
Clique em Save.
Por padrão, o App Builder incluirá todos os recursos da API no documento OpenAPI, a menos que você selecione recursos para excluir.
Excluir um recurso da documentação da API
Se você deseja excluir um recurso individual da documentação OpenAPI que será gerada, isso também é configurado na página REST API da API:
-
Acesse IDE > REST APIs.
-
Localize o aplicativo para o qual deseja publicar um documento OpenAPI e clique no ícone de chevron em seu tile. A página REST API dessa API é aberta.
Se você não vir seu aplicativo listado, ainda não o publicou como um endpoint de API REST.
-
No painel Resources, localize o recurso que deseja excluir da documentação e clique em seu ícone de detalhes. A página REST Resource desse recurso é aberta.
-
No painel Resource, clique em Edit.
-
Marque a opção Exclude From Documentation. Fazer isso omite esse recurso do documento gerado, mesmo quando Publish Documentation está habilitado para a API REST como um todo.
-
Clique em Save.
Detalhes do documento OpenAPI
Esta seção descreve os detalhes do documento OpenAPI que o App Builder pode publicar para as APIs REST do seu aplicativo.
URL do documento
Após publicado, o documento OpenAPI está disponível na mesma URL base da API REST do seu app, com openapi.json ou openapi.yaml adicionado:
.../rest/v1/{endpoint}/openapi.json
.../rest/v1/{endpoint}/openapi.yaml
Substitua {endpoint} pelo endpoint de API REST configurado para seu aplicativo (por exemplo, northwinds).
Conteúdo do documento
O documento OpenAPI gerado reflete a API REST exposta pela aplicação:
-
Cada recurso publicado, incluindo qualquer nó filho, se torna um
pathno documento. -
As colunas e propriedades de objetos de negócio se tornam campos no modelo
components/schemascorrespondente, com seus tipos de dados do App Builder mapeados para tipos de dados OpenAPI. -
Os parâmetros de entrada se tornam parâmetros de caminho ou consulta OpenAPI.
-
Apenas eventos personalizados selecionados para exposição REST são incluídos, usando seu nome configurado amigável para URL.
Mapeamento de autenticação
O documento gerado declara um esquema de segurança em components/securitySchemes para cada método de autenticação configurado nos endpoints da aplicação:
| Método de autenticação do App Builder | Esquema de segurança OpenAPI gerado |
|---|---|
| Acesso anônimo | Nenhum requisito de segurança no caminho. |
| OAuth, concessão Client Credentials | Fluxo OAuth2 clientCredentials. |
| OAuth, concessão Authorization Code | Fluxo OAuth2 authorizationCode. |
| Chave de API | Esquema de segurança de chave de API usando um cabeçalho personalizado (X-API-Key por padrão). |
Problemas conhecidos e limitações
O documento gerado está sujeito aos mesmos problemas conhecidos e limitações da API REST subjacente.