#python #api #dictionary #openapi
Вопрос:
Существует ли пакет Python 3 или фрагмент кода, который может прочитать файл ЯМЛ OpenAPI 3 и преобразовать его в словарь Python?
Это пример содержимого файла ЯМЛ OpenAPI 3
openapi: 3.0.0
servers:
url: https://localhost/api
paths:
/user/{userId}:
get:
summary: Get a user by ID
parameters:
- in: path
name: userId
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/User'
components:
schemas:
User:
type: object
properties:
id:
type: integer
name:
$ref: '#/components/schemas/UserFullName'
age:
type: integer
UserFullName:
type: object
properties:
firstName:
type: string
lastName:
type: string
Я хочу, чтобы пакет/код для создания словаря Python выглядел примерно так
{
"/user/{userId}": {
"get": {
"200": {
"id": "integer",
"name": {
"firstName": "string",
"lastName": "string"
}
"age" "integer"
}
}
}
}
—— Редактировать ——
Я попробовал PyYAML, однако он не возвращает то, что я ожидаю.
Я ожидаю, что пара ключ-значение «$ref » будет действовать как строковая интерполяция, подобная этой:
{
"id":0,
"name":{
"firstName":"string",
"lastName":"string"
},
"age":0
}
Вместо этого PyYAML возвращает это:
{
"id":0,
"name": {
"$ref": "#/components/schemas/UserFullName"
},
"age":0
}
Ответ №1:
Да, есть посылка под названием pyyaml
. Чтобы узнать больше, пожалуйста, обратитесь к этой статье О том, как прочитать файл YAML в Dict на Python
Комментарии:
1. Спасибо, я добавил разъяснения к вопросу после использования PyYAML