OpenAPI 3.0 en IBM API Connect

IBM® API Connect da soporte a la especificación OpenAPI 3.0 , con algunas limitaciones. La implementación actual incluye soporte completo para los requisitos de Berlin Group NextGen PSD2.

Visión general

Un producto puede contener cualquier combinación de las API OpenAPI 2.0 y OpenAPI 3.0. Cuando publica un producto que contiene una API OpenAPI 3.0, se valida dicha API para asegurarse de que la sintaxis sea correcta y que las referencias a recursos de configuración y políticas se resuelvan correctamente, del mismo modo que se validan las API de OpenAPI 2.0.

También puede validar las API de OpenAPI y 3.0 en su sistema de archivos local utilizando el apic validate comando que proporciona la CLI del kit de herramientas para desarrolladores; para obtener más información, consulte «Validación de la definición YAML o JSON de una API o un producto ».

Si recupera un objeto de API utilizando la CLI de developer toolkit o las API REST de API Connect , hay una propiedad oai_version que define qué versión de OpenAPI representa la API.

No hay soporte de API de OpenAPI 3.0 con DataPower® Gateway (v5 compatible); el soporte de API de OpenAPI 3.0 lo proporciona DataPower API Gateway solo.

Limitaciones

Las limitaciones del soporte de OpenAPI 3.0 en API Connect son las siguientes:
Limitaciones de la interfaz de usuario
  • Algunos aspectos de la especificación OpenAPI 3.0 no están soportados actualmente en la interfaz de usuario. En tales circunstancias, utilice directamente el código fuente de OpenAPI.
  • Los errores de validación identificados localmente se reflejan en la cabecera del editor de API casi de inmediato. Sin embargo, algunos errores de validación sólo puede identificarlos el programa de fondo del gestor de API y no se reflejan hasta que se guarda la API; esto implica que, al guardar la API, pueden aparecer o desaparecer algunos errores de validación.
  • La interfaz de usuario no da soporte actualmente a la referenciación de un componente de cuerpo de solicitud desde el cuerpo de solicitud de una operación. Si desea hacer referencia a un componente de cuerpo de solicitud, añada la referencia al cuerpo de solicitud de la operación directamente en el código fuente de OpenAPI:
    requestBody:
      $ref: '#/components/requestBodies/request_body_component_name'
    Sin embargo, la referencia se confirma en la página de detalles del cuerpo de solicitud de la interfaz de usuario.
  • Si, en la interfaz de usuario de API Designer , crea y activa una API con el mismo nombre y versión que la que ya se ha activado desde la interfaz de usuario de API Manager , la operación Editar límite de velocidad falla.
Limitaciones de las API impuestas por DataPower API Gateway
Para suprimir el mensaje de error para las limitaciones siguientes y publicar la API, establezca la propiedad x-ibm-configuration.compatibility.suppress-limitation-errors en true tal como se muestra en el ejemplo siguiente:
compatibility:
  suppress-limitation-errors: true
Atención: Habilitar suppress-limitation-errors simplemente inhabilita los mensajes de error para que se pueda publicar la API.
  • Limitaciones generales.
    • La matriz servers no puede contener más de un servidor.
    • La entrada de url en la matriz servers no puede contener variables.
    • Los objetos path no pueden contener alteraciones temporales de objetos de servidor.
    • No existe soporte para convertir un servicio SOAP definido mediante WSDL en una API OpenAPI 3.0.
    • No hay soporte para devoluciones de llamada o enlaces, y las API que los contienen no se publicarán.
    • Las construcciones siguientes de Open API 3.0 se utilizan con menos frecuencia y no están soportadas:
      • allowEmptyValue
      • allowReserved
  • Políticas de ensamblaje.
    • Se da soporte a todas las políticas.
    • El soporte de esquema JSON está limitado al borrador 4 y anteriores. Por tanto, las políticas siguientes están limitadas a estos borradores:
      • gatewayscript
      • set-variable
      • switch
      • json-to-xml
      • xml-to-json
      • parse
      • xslt
      • map
      • validate
      Para obtener información detallada sobre el borrador 4 y las especificaciones anteriores, consulte https://json-schema.org/specification-links.html#draft-4.
    • Seguridad.
      • El esquema de seguridad de OpenID Connect (OIDC) no está soportado.
      • El uso de cookies no está soportado en una clave de API.