https://www.youtube.com/playlist?list=PLb__S-rkKhez_GMouvjCTGodib-zj_Vcl
https://ithelp.ithome.com.tw/articles/10242295
https://www.openapis.org/
https://www.manning.com/books/designing-apis-with-swagger-and-openapi
https://howtodoinjava.com/swagger2/code-generation-for-rest-api/
https://github.com/swagger-api
https://editor.leonh.space/2022/openapi/#
OpenAPI
OpenAPI 是用於描述 API 資訊的文件,包括 API 的端點、參數、輸出入格式、說明、認證等,本質上它是一個 JSON 或 YAML 文件,而文件內的 schema 則是由 OpenAPI 定義。
下面是一份 OpenAPI JSON 文件的範例:
{
"openapi": "3.0.0",
"info": {
"title": "TestAPI",
"description": "Bare en liten test",
"version": "1.0"
},
"servers": [
{
"url": "https://api.example.com/v1"
}
],
"paths": {
"/users/{userId}": {
"get": {
"summary": "Returns a user by ID",
"parameters": [
{
"name": "userId",
"in": "path",
"description": "The ID of the user to return",
"required": true,
"style": "simple",
"explode": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/inline_response_200"
}
}
}
},
"400": {
"description": "The specified user ID is invalid (e.g. not a number)"
},
"404": {
"description": "A user with the specified ID was not found"
}
}
}
}
},
"components": {
"schemas": {
"inline_response_200": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
}
}
}
}
}
沒有留言:
張貼留言