Publicar um documento OpenAPI (Swagger) para a API REST do seu aplicativo 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 aplicativo, 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, como os métodos de autenticação são mapeados e como listar todas as APIs publicadas no seu servidor App Builder. 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ê já deve ter publicado o aplicativo 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 chevron no seu bloco. 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 instrui o App Builder a 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 desejar 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 chevron no seu bloco. 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 no í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á ativado 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 fica disponível na mesma URL base que sua API REST do aplicativo, com openapi.json ou openapi.yaml adicionado:
.../rest/v1/{endpoint}/openapi.json
.../rest/v1/{endpoint}/openapi.yaml
Substitua {endpoint} pelo endpoint da REST API configurado para sua aplicação (por exemplo, northwinds).
Conteúdo do documento
O documento OpenAPI gerado reflete a REST API exposta pela aplicação:
-
Cada recurso publicado, incluindo qualquer nó filho, torna-se um
pathno documento. -
As colunas e propriedades do objeto de negócio tornam-se campos no modelo correspondente de
components/schemas, com seus tipos de dados do App Builder mapeados para tipos de dados OpenAPI. -
Os parâmetros de entrada tornam-se parâmetros de caminho ou consulta OpenAPI.
-
(Desde o App Builder 4.68.) Cada campo do nó raiz de um recurso torna-se um parâmetro de consulta opcional, documentando como filtrar resultados por esse campo usando uma comparação simples de igualdade.
-
Apenas eventos personalizados selecionados para exposição REST são incluídos, utilizando seu nome configurado compatível com 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 de Credenciais do Cliente | Fluxo OAuth2 clientCredentials. |
| OAuth, concessão de Código de Autorização | 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). |
Listar APIs publicadas em seu servidor App Builder
Desde o App Builder 4.68, é possível descobrir cada aplicação no servidor App Builder com um documento OpenAPI publicado recuperando a seguinte URL:
.../rest/v1/services.json
Substitua a URL base pela URL do seu servidor App Builder. Este endpoint não requer autenticação.
A resposta é um array JSON com uma entrada por aplicação que possui um documento OpenAPI publicado. Uma aplicação sem um documento publicado não é incluída:
[
{
"name": "Northwinds",
"endpoint": "northwinds",
"url": "https://example.com/rest/v1/northwinds",
"openApiUrl": "https://example.com/rest/v1/northwinds/openapi.json"
}
]
| Campo | Descrição |
|---|---|
name |
O nome de exibição da aplicação. |
endpoint |
O endpoint da REST API da aplicação. |
url |
A URL base da REST API da aplicação. |
openApiUrl |
A URL do documento OpenAPI da aplicação. |
Problemas conhecidos e limitações
O documento gerado está sujeito aos mesmos problemas conhecidos e limitações da REST API subjacente.