Skip to content

Commit

Permalink
swagger fixed
Browse files Browse the repository at this point in the history
  • Loading branch information
jacopocarlini committed Sep 13, 2024
1 parent d4f899a commit 08a8d34
Show file tree
Hide file tree
Showing 5 changed files with 271 additions and 120 deletions.
244 changes: 125 additions & 119 deletions openapi/openapi.json
Original file line number Diff line number Diff line change
@@ -1,164 +1,170 @@
{
"openapi": "3.0.1",
"info": {
"title": "OpenAPI definition",
"version": "1.0.2-4-fix-deploy"
"openapi" : "3.0.1",
"info" : {
"title" : "bizpmingestion",
"description" : "Microservice for retrieving payment receipts from the PM.",
"termsOfService" : "https://www.pagopa.gov.it/",
"version" : "1.0.2-4-fix-deploy"
},
"servers": [
{
"url": "http://localhost",
"description": "Generated server url"
"servers" : [ {
"url" : "http://localhost:8080"
}, {
"url" : "https://{host}{basePath}",
"variables" : {
"host" : {
"default" : "api.dev.platform.pagopa.it",
"enum" : [ "api.dev.platform.pagopa.it", "api.uat.platform.pagopa.it", "api.platform.pagopa.it" ]
},
"basePath" : {
"default" : "/pm-ingestion/v1",
"enum" : [ "/pm-ingestion/v1" ]
}
}
],
"paths": {
"/extraction/data": {
"post": {
"tags": [
"PM extraction data REST APIs"
],
"summary": "Request for data extraction from the PM.",
"operationId": "pmDataExtraction",
"parameters": [
{
"name": "pmExtractionType",
"in": "query",
"required": true,
"schema": {
"type": "string",
"enum": [
"CARD",
"BPAY",
"PAYPAL"
]
}
} ],
"paths" : {
"/extraction/data" : {
"post" : {
"tags" : [ "PM extraction data REST APIs" ],
"summary" : "Request for data extraction from the PM.",
"operationId" : "pmDataExtraction",
"parameters" : [ {
"name" : "pmExtractionType",
"in" : "query",
"required" : true,
"schema" : {
"type" : "string",
"enum" : [ "CARD", "BPAY", "PAYPAL" ]
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataExtractionOptionsModel"
} ],
"requestBody" : {
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/DataExtractionOptionsModel"
}
}
},
"required": true
"required" : true
},
"responses": {
"404": {
"description": "Not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemJson"
"responses" : {
"409" : {
"description" : "Conflict.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProblemJson"
}
}
}
},
"422": {
"description": "Unprocessable entity.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemJson"
"422" : {
"description" : "Unprocessable entity.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProblemJson"
}
}
}
},
"400": {
"description": "Malformed request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemJson"
"404" : {
"description" : "Not found.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProblemJson"
}
}
}
},
"401": {
"description": "Wrong or missing function key."
},
"200": {
"description": "Request paid."
},
"500": {
"description": "Service unavailable.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemJson"
"500" : {
"description" : "Service unavailable.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProblemJson"
}
}
}
},
"409": {
"description": "Conflict.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemJson"
"200" : {
"description" : "Request paid."
},
"400" : {
"description" : "Malformed request.",
"content" : {
"application/json" : {
"schema" : {
"$ref" : "#/components/schemas/ProblemJson"
}
}
}
}
},
"security": [
{
"ApiKey": []
},
{
"Authorization": []
"401" : {
"description" : "Wrong or missing function key."
}
]
},
"security" : [ {
"ApiKey" : [ ]
} ]
}
}
},
"components": {
"schemas": {
"DataExtractionOptionsModel": {
"type": "object",
"properties": {
"taxCodes": {
"type": "array",
"items": {
"type": "string"
"components" : {
"schemas" : {
"DataExtractionOptionsModel" : {
"type" : "object",
"properties" : {
"taxCodes" : {
"type" : "array",
"items" : {
"type" : "string"
}
},
"creationDateFrom": {
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$\n",
"type": "string",
"description": "if provided use the format yyyy-MM-dd",
"format": "date"
"creationDateFrom" : {
"pattern" : "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$\n",
"type" : "string",
"description" : "if provided use the format yyyy-MM-dd",
"format" : "date"
},
"creationDateTo": {
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$\n",
"type": "string",
"description": "if provided use the format yyyy-MM-dd",
"format": "date"
"creationDateTo" : {
"pattern" : "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$\n",
"type" : "string",
"description" : "if provided use the format yyyy-MM-dd",
"format" : "date"
}
}
},
"ProblemJson": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
"ProblemJson" : {
"type" : "object",
"properties" : {
"title" : {
"type" : "string",
"description" : "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable"
},
"status": {
"maximum": 600,
"minimum": 100,
"type": "integer",
"description": "The HTTP status code generated by the origin server for this occurrence of the problem.",
"format": "int32",
"example": 200
"status" : {
"maximum" : 600,
"minimum" : 100,
"type" : "integer",
"description" : "The HTTP status code generated by the origin server for this occurrence of the problem.",
"format" : "int32",
"example" : 200
},
"detail": {
"type": "string",
"description": "A human readable explanation specific to this occurrence of the problem.",
"example": "There was an error processing the request"
"detail" : {
"type" : "string",
"description" : "A human readable explanation specific to this occurrence of the problem.",
"example" : "There was an error processing the request"
}
}
}
},
"securitySchemes" : {
"ApiKey" : {
"type" : "apiKey",
"description" : "The API key to access this function app.",
"name" : "Ocp-Apim-Subscription-Key",
"in" : "header"
}
}
}
}
}
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,12 @@
<version>${springdoc-openapi-ui-version}</version>
</dependency>

<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.7.0</version>
</dependency>

<!-- utilities -->
<dependency>
<groupId>org.modelmapper</groupId>
Expand Down
Loading

0 comments on commit 08a8d34

Please sign in to comment.