1. das Wetter (JSON)
{
"openapi": "3.1.0",
"info": {
"title": "Wetterdaten abrufen", "description": "Ruft aktuelle Wetterdaten für einen Ort ab.
"description": "Ruft aktuelle Wetterdaten für einen Ort ab.", "version": "v1.0.0", "description": "Ruft aktuelle Wetterdaten für einen Ort ab.
"version": "v1.0.0"
}, "servers": ["servers" : ["Ruft aktuelle Wetterdaten für einen Standort ab.
"server": [
{
"url": "https://weather.example.com"
}
],
"Pfade": {
"/location": {
"get": {
"operationId": "GetCurrentWeather", "parameters": [
"parameters": [
{
"name": "location", "in": "query", "parameters": [ {
"in": "query", "description": "Die Stadt und
"schema": {
"type": "string"
}
}
], "veraltet": false
"veraltet": false
}
}
},
"Komponenten": {
"schemas": {}
}
}
Bei diesem Code handelt es sich um eine JSON-Datei der OpenAPI-Spezifikation, die eine API zum Abrufen von Wetterdaten beschreibt, die es dem Benutzer ermöglicht, Wetterdaten für einen bestimmten Ort abzufragen.
"openapi": "3.1.0"
OpenAPI: Dies zeigt an, dass die verwendete Version der OpenAPI-Spezifikation 3.1.0 ist."info"
Dieser Abschnitt enthält grundlegende Informationen über die API, einschließlich Titel, Beschreibung und Version."Server"
Dieser Abschnitt listet die Server-URLs für die API auf."Pfade"
Dieser Abschnitt definiert die Pfade und Operationen der API. In diesem Beispiel gibt es eine GET-Operation mit einem Pfad von/Standort
die dazu dient, das Wetter für einen bestimmten Ort zu ermitteln. Dieser Vorgang erfordert eine Datei namensStandort
Der Abfrageparameter, der erforderlich ist, ist vom Typ String."Komponenten"
Dieser Abschnitt wird verwendet, um die in der API verwendeten Muster zu definieren, aber in diesem Beispiel ist er leer.
In der OpenAPI-Spezifikation ist dieParameter
ist ein Array, das die Eingabeparameter für API-Vorgänge definiert.Parameter
definiert eine Datei namensStandort
Der Abfrageparameter, der erforderlich ist, ist vom Typ String. Jeder Parameter ist ein Objekt, das die folgenden Eigenschaften enthält:
"Name"
: Der Name des Parameters."in"
Ort: Der Ort des Parameters. Dies kann sein"Abfrage"
,"Kopfzeile"
,"Pfad"
vielleicht"Cookie"
."Beschreibung"
Beschreibung des Parameters."erforderlich"
: Wenn fürwahr
Dieser Parameter ist erforderlich, wenn die"schema"
Datentyp: Der Datentyp des Parameters.
Die 4 Fälle, die sich auf die Position der Parameter beziehen, sind im Folgenden dargestellt:
- Header-Parameter, um den API-Schlüssel im Request-Header zu übergeben.
- path-Parameter, um die ID des Objekts anzugeben, das im URL-Pfad abgerufen werden soll.
- Der Cookie-Parameter, der verwendet wird, um die Sitzungs-ID des Benutzers in einem Cookie zu übergeben.
- Der Abfrageparameter, der an die URL angehängt wird, dient in der Regel dazu, Informationen zu filtern.
Erstellen Sie eine benutzerdefinierte Werkzeugschnittstelle:
Schnittstelle des Testwerkzeugs:
2. die Tierhandlung (YAML)
# Entnommen aus https://github.com/OAI/OpenAPI-Specification/blob/main/examples/v3.0/petstore.yaml
openapi: "3.0.0"
info.
Version: 1.0.0
Titel: Swagger Petstore
Lizenz: Name: MIT
Name: MIT
Server.
- url: https://petstore.swagger.io/v1
Pfade.
/pets.
get.
summary: Alle Haustiere auflisten
operationId: listPets
Tags: Haustiere
- Haustiere
Parameter: name: limit
- name: limit
in: Abfrage
description: Wie viele Einträge auf einmal zurückgegeben werden sollen (maximal 100)
erforderlich: false
schema: name: limit in: abfrage beschreibung: Wie viele Einträge auf einmal zurückgegeben werden sollen (max. 100)
Typ: Ganzzahl
Höchstwert: 100
Format: int32
Antworten.
'200'.
description: Ein ausgelagertes Array von Haustieren
description: Ein paginiertes Array von Haustieren
x-nächste.
Beschreibung: Ein Link auf die nächste Seite der Antworten
schema: x-next: description: Ein Link zur nächsten Seite der Antworten
x-next: Beschreibung: Ein Link auf die nächste Seite der Antworten schema: type: string
Inhalt: application/json.
anwendung/json.
schema: $ref: "#/Komponenten/Schemata/Tiere
$ref: "#/Komponenten/Schemata/Tiere"
Standardwert: $ref: "#/Komponenten/Schemata/Tiere
description: unerwarteter Fehler
description: unerwarteter Fehler
#/components/schemas/Pets" default: description: unerwarteter Fehler content: application/json.
schema.
$ref: "#/Komponenten/Schemata/Fehler"
post.
summary: Ein Haustier erstellen
operationId: createPets
tags: Haustiere
- Haustiere
Antworten.
'201'.
description: Null-Antwort
Standard: '201': Beschreibung: Null-Antwort
description: unerwarteter Fehler
standard: beschreibung: unerwarteter fehler
anwendung/json.
schema.
$ref: "#/Komponenten/Schemata/Fehler"
/pets/{petId}.
erhalten.
summary: Informationen für ein bestimmtes Haustier
operationId: showPetById
tags: pets/{petId}: get: summary: Informationen zu einem bestimmten Haustier
- Haustiere
Parameter: Name: petId
- Name: petId
in: Pfad
erforderlich: true
description: Die ID des abzurufenden Haustieres
schema: petId in: path erforderlich: true Beschreibung: Die Kennung des abzurufenden Haustiers
Typ: Zeichenkette
Antworten.
'200'.
description: Erwartete Antwort auf eine gültige Anfrage
description: Erwartete Antwort auf eine gültige Anfrage
application/json: '200': description: Erwartete Antwort auf eine gültige Anfrage content: application/json.
schema.
$ref: "#/Komponenten/Schemata/Tierchen"
Standardwert: $ref: "#/Komponenten/Schemata/Pet
description: unerwarteter Fehler
beschreibung: unerwarteter fehler
#/components/schemas/Pet" default: description: unerwarteter Fehler content: application/json.
schema.
$ref: "#/Komponenten/Schemata/Fehler"
schema: $ref: "#/Komponenten/Schemata/Fehler
$ref: "#/Bestandteile/Schema/Fehler" Komponenten.
Pet.
schema: schemas: Pet.
erforderlich: id
- id
- Name
Eigenschaften.
id: Typ: Ganzzahl
Typ: Ganzzahl
Format: int64
Name: id: Typ: Ganzzahl Format: int64
Typ: Zeichenkette
tag.
Typ: Zeichenkette
Haustiere.
Typ: Array
maxEinträge: 100
Elemente: $ref: "#/Komponenten/Schemata/Haustier
$ref: "#/Komponenten/Schemata/Haustier"
Fehler: Typ: Objekt
$ref: "#/Bestandteile/Schemata/Haustier" Fehler.
erforderlich: code
- #/components/schemas/Pet" Fehler: Typ: Objekt erforderlich.
- Meldung
Typ: Objekt erforderlich: Code Nachricht
Typ: Ganzzahl
Typ: Ganzzahl
Format: int32
Nachricht: Typ: String
Typ: Zeichenkette
pet.yaml
ist eine OpenAPI-Spezifikationsdatei, die die Schnittstelle zu einer API namens "Swagger Petstore" beschreibt und definiert. Diese Datei verwendet das YAML-Format, einen Standard für die Serialisierung von menschenlesbaren Daten zum Schreiben von Konfigurationsdateien. Diese Datei bietet eine klare Definition der API-Schnittstelle für Entwickler, damit diese wissen, wie sie mit der "Swagger Petstore"-API interagieren können. Die wichtigsten Teile der Datei sind:
openapi
Version: Dieses Feld gibt die Version der verwendeten OpenAPI-Spezifikation an, in diesem Fall "3.0.0".Infos
Dieser Abschnitt enthält grundlegende Informationen über die API, einschließlich Version, Titel und Lizenz.Server
Dieser Abschnitt definiert die Server-URL für die API.Pfade
Dieser Abschnitt definiert alle Pfade und Operationen der API. Zum Beispiel./Tiere
Der Pfad hat zwei Operationen:bekommen.
im Gesang antwortenBeitrag
.bekommen.
wird verwendet, um alle Haustiere aufzulisten.Beitrag
Vorgänge werden verwendet, um ein neues Haustier zu erstellen. Jede Operation hat ihre eigenen Parameter, Antworten und andere Details.Komponenten
Dieser Abschnitt definiert wiederverwendbare Schemata, die in der Datenbank verwendet werden können.Pfade
In dem Abschnitt zitiert. Zum Beispiel.Haustier
, undHaustiere
im Gesang antwortenFehler
Modus.
Konvertieren Sie die obige YAML-Datei in das JSON-Format:
{
"openapi": "3.0.0",
"info": {
"version": "1.0.0", "title": "Swagger Petstore", {
"Lizenz": {
"name": "MIT"
}
},
"server": [
{
"url": "https://petstore.swagger.io/v1"
}
],
"Pfade": {
"/pets": {
"get": {
"summary": "list all pets", "operationId": "listPets",
"operationId": "listPets",
"parameters": [
{
"name": "limit", "in": "query", "tags": ["pets"], "parameters": [ {
"in": "query", "description": "Wie viele Elemente auf einmal zurückgegeben werden sollen
"description": "Wie viele Elemente auf einmal zurückgegeben werden sollen (max 100)", "required": false, "tags": [ { {
"schema": {
"type": "integer", "maximum": 100, "required": false, "schema": {
"format": "int32"
}
}
], "Antworten": {
"Antworten": {
"200": {
"description": "Ein paginiertes Array von Haustieren", "headers": {
"headers": {
"x-next": {
"description": "Ein Link zur nächsten Seite der Antworten", "schema": { "x-next": { "x-next": {
"schema": {
"type": "string"
}
}
}, "content": { "link to the next page of responses", "schema": { "type": "string" }
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pets"
}
}
}
},
"default": {
"description": "unerwarteter Fehler", "content": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"post": {
"summary": "Ein Haustier erstellen",
"operationId": "createPets",
"tags": ["pets"], "responses": {
"responses": {
"201": {
"description": "Null-Antwort"
},
"default": {
"description": "unerwarteter Fehler", "content": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},.
"/pets/{petId}": {
"get": {
"operationId": "showPetById",
"tags": ["pets"], "parameters": ["pets"], "operationId": "showPetById",
"parameters": [
{
"name": "petId", "in": "path", "tags": ["pets"], "parameters": [ {
"in": "path", "required": true, [ { "name": "petId",
"required": true, "description": "Die ID des abzurufenden Haustiers
"description": "Die Kennung des abzurufenden Haustiers", "schema": {
"schema": {
"type": "string"
}
}
], "responses": { "responses": { "type": "string" } }
"Antworten": {
"200": {
"description": "Erwartete Antwort auf eine gültige Anfrage", "content": { "200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pet"
}
}
}
},
"default": {
"description": "unerwarteter Fehler", "content": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
}
},
"Komponenten": {
"Schemata": {
"Pet": {
"type": "object", "required": ["id", "name"], {
"required": ["id", "name"], "properties": { "properties": { "id", "name", "name", "name
"properties": {
"id": {
"Typ": "Ganzzahl", "Format": "int64".
"format": "int64"
},
"name": {
"type": "string"
},
"tag": {
"type": "string"
}
}
},
"Haustiere": {
"type": "array", "maxItems": 100, "array
"maxItems": 100, "items": { "type": "array",
"items": {
"$ref": "#/components/schemas/Pet"
}
},
"Error": {
"properties": {
"code": {
"type": "integer", "format": "int".
"format": "int32"
},
"message": {
"type": "string"
}
}
}
}
}
}
3. leere Vorlage
{
"openapi": "3.1.0",
"info": {
"title": "Untitled", "description": "Ihre OpenAPI-Spezifikation", { "openapi": "3.0", "info": {
"description": "Ihre OpenAPI-Spezifikation", "version": "v1.0", "vpi": "vpi": "vpi": "vpi": "vpi": "vpi": "vpi": "vpi".
"version": "v1.0.0"
}, "server": [
"server": [
{
"url": ""
}
],
"Pfade": {},
"Komponenten": {
"schemas": {}
}
}
Hinweis: Es scheint, dass das JSON-Format intuitiver ist.
Tutorial zur strukturierten Ausgabe:Wie verwendet man ein jsonarray-Objekt in Dify?