středa 19. března 2025

OpenAPI

Co je to OpenApi a proč by ho měl analytik znát? OpenApi je (překvapivě) specifikace pro popis Api.  Používá JSON nebo YAML a poskytuje standardizovaný způsob, jak definovat endpointy, operace, parametry, odpovědi, autentizaci a další aspekty API. 

Specifikace OpenAPI obsahuje několik klíčových sekcí:

  • Info – Základní informace o API (název, verze, popis).
  • Servers – Seznam dostupných serverů API.
  • Paths – Definice jednotlivých endpointů a jejich operací.
  • Components – Znovupoužitelné definice schémat, parametrů a odpovědí.
  • Security – Popis mechanismů autentizace a autorizace.

A jak to vlastně vypadá:

openapi: 3.0.0
info:
  title: Správa dokumentů API
  description: API pro správu dokumentů v rámci případů
  version: 1.0.0
servers:
  - url: https://api.example.com/v1
security:
  - bearerAuth: []
paths:
  /cases/{caseId}/documents:
    get:
      summary: Získání seznamu dokumentů pro daný případ
      security:
        - bearerAuth: []
      parameters:
        - name: caseId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Seznam dokumentů
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Document'
        '404':
          description: Případ nebyl nalezen
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "Case not found"
components:
  schemas:
    Document:
      type: object
      properties:
        id:
          type: integer
        filename:
          type: string
        created:
          type: string
          format: date-time
        description:
          type: string
        documentOrigin:
          type: string
          enum: [digital, paper]
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

Analytik by se v tom měl minimálně zorientovat a být schopen zkontrolovat, zda má/nemá k dispozici všechny atributy, které jsou třeba.

Žádné komentáře:

Okomentovat