Os esquemas fornecem aos desenvolvedores as informações sobre a solicitação que eles devem fazer ou a resposta que eles devem receber ao chamarem uma operação de API. É possível editar esquemas que foram criados anteriormente em vários lugares em sua definição de API.
Antes de Iniciar
Observação: os esquemas são compilados antes de serem usados para validação. Como o processo de compilação é mais demorado do que o processo de validação, os artefatos do esquema compilado são armazenados em um cache. A capacidade limitada do cache pode fazer com que as entradas mais antigas sejam removidas do cache quando entradas mais recentes forem adicionadas. Os esquemas cujos artefatos foram removidos do cache devem ser recompilados, o que pode causar atrasos significativos na validação.
Abra o formulário de detalhes para um esquema. Para obter detalhes das áreas em sua definição de API de onde é possível editar um esquema, consulte os tópicos a seguir:
Sobre essa tarefa
Nota:
- Esta tarefa está relacionada com a configuração de uma definição de API OpenAPI 3.0. Para obter detalhes sobre como configurar uma definição de API OpenAPI 2.0 , consulte Editando uma definição de API OpenAPI 2.0.
- OpenAPI 3.0 APIs são suportadas apenas com o DataPower® API Gateway, não com o DataPower Gateway (v5 compatible).
- Para obter detalhes das limitações de suporte atuais do OpenAPI 3.0 , consulte OpenAPI 3.0 suporte no IBM®
API Connect.
É possível concluir essa tarefa usando o aplicativo da UI do API Designer ou usando a UI do API Manager baseado em navegador.
A visualização em tabela apresenta as propriedades de um esquema juntamente com seus atributos essenciais, como nome, tipo, descrição e status de obrigatoriedade. O menu pop-up secundário permite visualizar e editar os atributos mais detalhados e menos utilizados associados a cada campo de dados.
A qualquer momento, você pode acessar diretamente o arquivo YAML de origem do ` OpenAPI ` clicando no ícone "Fonte
". Para voltar ao formulário de criação, clique no ícone
Formulário.
Procedimento
É possível definir as configurações do esquema a seguir:
- Nome do Esquema: Disponível se você estiver editando um componente de esquema, esse nome define uma chave que permite que esse esquema seja referenciado de outro lugar na definição de API; a referência possui o formato a seguir:
#/components/schemas/Name
Para alterar o nome, clique no ícone "
Fonte ", altere o valor no campo e, em seguida, clique em
"Salvar" - Título : O título do esquema.
- Tipo : O tipo de dados do esquema; selecione uma das seguintes opções:
- Matriz
- Booleano
- Número inteiro
- number
- objeto
- string
Nota: se você mudar o tipo de um esquema existente, quaisquer configurações existentes que não sejam relevantes para o novo tipo ainda serão retidas na origem OpenAPI , mesmo que não sejam mais exibidas na interface com o usuário. Portanto, evite converter um esquema de um tipo para outro; em vez disso, crie um novo esquema ou modifique diretamente o código-fonte do ` OpenAPI `; para abrir o editor de código-fonte, clique no ícone
Código-fonte.
- Propriedades : A propriedade do esquema. Para adicionar uma propriedade ao esquema, clique em “Adicionar” ao lado do título da seção “Propriedades”, preencha os detalhes e clique em “Salvar ”.
- Configurações adicionais do esquema dependem do tipo de propriedade selecionado. Para visualizar e editar essas configurações de esquema, clique no menu Opções ao lado da propriedade que deseja visualizar e selecione Detalhes.
- booleano: sem configurações específicas do tipo.
- inteiro :
- Formato: um modificador de tipo de dados opcional. Para obter mais informações, consulte “Tipos de dados” na especificação da Biblioteca de Tipos de Dados ( OpenAPI ).
- Múltiplo de: a divisão de uma instância de número inteiro por este valor deve resultar em um número inteiro.
- Máximo: uma instância de número inteiro deve ser menor ou igual a este valor.
- Máximo exclusivo: uma instância de número inteiro deve ser estritamente inferior a este valor.
- Mínimo: uma instância de número inteiro deve ser maior ou igual a este valor.
- Mínimo exclusivo: uma instância de número inteiro deve ser estritamente maior do que este valor.
- número:
- Formato: um modificador de tipo de dados opcional. Para obter mais informações, consulte “Tipos de dados” na especificação da Biblioteca de Tipos de Dados ( OpenAPI ).
- Múltiplo de: a divisão de uma instância de número por este valor deve resultar em um número inteiro.
- Máximo: uma instância de número deve ser menor ou igual a este valor.
- Máxima exclusiva: uma instância de número deve ser estritamente inferior a este valor.
- Mínimo: uma instância de número deve ser maior ou igual a este valor.
- Mínimo exclusivo: uma instância de número deve ser estritamente maior do que este valor.
- objeto :
- Máximo de propriedades: o número de propriedades em uma instância de objeto deve ser menor ou igual a este valor.
- Mínimo de propriedades: o número de propriedades em uma instância de objeto deve ser maior ou igual a este valor.
- Propriedades necessárias: uma matriz de nomes de propriedade; todo nome de propriedade na matriz deve ser o nome de uma propriedade em uma instância de objeto. Para incluir um nome de propriedade necessário, clique em Incluir ao lado do título da seção Propriedades necessárias, digite o nome, em seguida, clique em Criar.
- sequência:
- Formato: um modificador de tipo de dados opcional. Para obter mais informações, consulte “Tipos de dados” na especificação da Biblioteca de Tipos de Dados ( OpenAPI ).
- Padrão: uma expressão regular; uma instância de sequência deve combinar com sucesso a expressão.
- Máximo de comprimento: o número máximo permitido de caracteres em uma instância de sequência.
- Mínimo de comprimento: o número mínimo permitido de caracteres em uma instância de sequência.
- Enumeração: uma matriz de valores de sequência; uma instância de sequência deve corresponder a um dos valores da matriz. Para incluir um valor numérico, clique em Incluir, insira o valor e, em seguida, clique em Criar.
- Configurações gerais; selecione as opções necessárias:
- Obrigatório : É obrigatório definir uma propriedade associada a este esquema.
- Somente leitura: uma propriedade associada a este esquema pode ser retornada em uma resposta, mas não deve ser incluída em uma solicitação. Por exemplo, propriedades cujos valores são identificadores gerados pelo sistema serão definidas como Somente leitura porque os clientes de aplicativos não seriam capazes de configurá-las.
- Valor de Exemplo: um valor de exemplo. Tudo o que você inserir aqui será exibido tal como está no Catálogo do Consumidor.
- Documentação Externa: Um recurso externo para documentação estendida; forneça as seguintes informações:
- URL (necessário): a URL para a documentação de destino.
- Descrição: uma descrição opcional da documentação de destino. Você pode usar a sintaxe CommonMark para representação em rich text.
- Xml: Metadados que permitem mais definições de modelo XML ajustado; forneça as seguintes informações:
- Nome: Substitui o nome do elemento ou atributo usado para a propriedade de esquema descrita...
- Namespace : O endereço URL da definição do namespace.
- Prefixo: o prefixo a ser usado para o Nome.
- Atributo: Especifica se a definição de propriedade se traduz em um atributo em vez de um elemento.
- Wrapped: Para uma definição de matriz, especifica se a matriz é agrupada (por exemplo,
<books><book/><book/></books>) ou desagrupada (<book/><book/>).
- Clique em Salvar quando concluído.
Exemplo
Ao definir propriedades, é possível criar estruturas de dados mais complexas. Por exemplo, seria possível definir um esquema
Endereço
que possui as propriedades a seguir:
Tabela 1. NOME DO IMÓVEL e TIPO DE IMÓVEL
| NOME DA PROPRIEDADE |
TIPO DE PROPRIEDADE |
| street1 |
string |
| street2 |
string |
| city |
string |
| state |
string |
| zip_code |
string |
e, em seguida, definir um esquema
BankBranch
que tenha as propriedades a seguir, uma das quais é uma referência ao esquema Endereço:
Tabela 2. NOME DO IMÓVEL e TIPO DE IMÓVEL
| NOME DA PROPRIEDADE |
TIPO DE PROPRIEDADE |
| address |
address |
| type |
string |
| id |
string |
O quê fazer em seguida
Se necessário, use a trilha de navegação para navegar para outro
local na hierarquia do objeto no qual você está trabalhando.