Sto provando a suddividere il mio documento API in più file JSON che possono essere modificati indipendentemente. Tutti gli esempi che sono riuscito a trovare usano lo schema di Swagger 1.2 che ha un oggetto "api": {} per scomporlo. Sembra che manchi lo schema 2.0 (http://json.schemastore.org/swagger-2.0). Tutto ciò che definisce è un singolo array "percorsi" in cui raggruppa tutti gli endpoint API in quel singolo array. L'effetto di questo in swagger-ui è che esiste un'unica categoria "predefinita" in cui tutto viene raggruppato e non c'è modo che io possa dire di dividerlo.Come rompere il file JSON swagger 2.0 in più moduli
TLDR: Come si fa a dividere le operazioni da percorsi nella spavalderia 2.0 schema
{
"swagger": "2.0",
"info": {
"description": "My API",
"version": "1.0.0",
"title": "My API",
"termsOfService": "http://www.domain.com",
"contact": {
"name": "[email protected]"
}
},
"basePath": "/",
"schemes": [
"http"
],
"paths": {
"Authorization/LoginAPI": {
"post": {
"summary": "Authenticates you to the system and produces a session token that will be used for future calls",
"description": "",
"operationId": "LoginAPI",
"consumes": [
"application/x-www-form-urlencoded"
],
"produces": [
"application/json"
],
"parameters": [{
"in": "formData",
"name": "UserName",
"description": "Login Username",
"required": true,
"type": "string"
}, {
"in": "formData",
"name": "Password",
"description": "Password",
"required": true,
"type": "string"
}],
"responses": {
"200": {
"description": "API Response with session ID if login is allowed",
"schema": {
"$ref": "#/definitions/Authorization"
}
}
}
}
}
}
}
Quindi, se volessi avere file separati per ogni tag, è possibile? Posso vedere mettere tutte le risorse (per esempio) in un file separato usando $ ref, ma come dividere la matrice "percorsi"? –
Non puoi farlo. Ancora una volta, le soluzioni di micro-servizi arriveranno presto, ma questo non significa necessariamente che tag == micro-service. – Ron
puoi definire percorsi e modelli in diversi file? Esempio di quello in swagger 2.0? – lostintranslation