openapi-generators / openapi-generators/openapi-python-client
Unable to parse schema Errors
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 2k
- Fork
- 293
- Merge trung bình
- 34 phút
- Pull request đã merge (30 ngày)
- 1
Mô tả
Describe the bug
I'm attempting to convert a rather large open api schema to Pyhton bindings and am running across warnings that are dropping endpoints on the floor. I believe there is a couple of issues.
- Refs not supported: Do you know if there are plans to add support for references in request body? I'll look at ways to flatten this schema out without references and try this again
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetadataFieldGroupType"
}
},
"application/xml": {
"schema": {
"$ref": "#/components/schemas/MetadataFieldGroupType"
}
}
},
"required": true,
"description": ""
}
WARNING` parsing PUT /collection within collection. Endpoint will not be generated.
Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/ItemSearchType')
WARNING parsing POST /collection within collection. Endpoint will not be generated.
Could not find reference in parsed models or enums
Reference(ref='#/components/schemas/CollectionType')
- Parth parameters not match with path. I believe this may be due to the open "in path" vs "in query" issue.
WARNING parsing GET /collection/{collection-id}/item within collection. Endpoint will not be generated.
Incorrect path templating for /collection/{collection-id}/item (Path parameters do not match with path)
{
"required": true,
"schema": {
"type": "string"
},
"in": "path",
"name": "collection-id",
"description": "The collection id."
}
- Generic cannot parse parameter of endpoint getAccessGraphDot
cannot parse parameter of endpoint getAccessGraphDot
Schema(title=None, multipleOf=None, maximum=None, exclusiveMaximum=None, minimum=None, exclusiveMinimum=None, maxLength=None, minLength=None, pattern=None, maxItems=None, minItems=None, uniqueItems=None, maxProperties=None, minProperties=None, required=None, enum=['ancestor', 'grant'], type=<DataType.STRING: 'string'>, allOf=[], oneOf=[], anyOf=[], schema_not=None, items=None, properties=None, additionalProperties=None, description=None, schema_format=None, default=None, nullable=False, discriminator=None, readOnly=None, writeOnly=None, xml=None, externalDocs=None, example=None, deprecated=None)
To Reproduce
Steps to reproduce the behavior:
- Run
openapi-python-client generate --path openapi/spec.json - Run
openapi-python-client generate --path openapi/spec.yaml
Expected behavior
A full python client should be generated without warnings.
OpenAPI Spec File
Standby. Making sure I have approval to share this schema since its coming from a 3rd party vendor.
Desktop (please complete the following information):
- OS: macOS 12.4
- Python Version: 3.8.9
- openapi-python-client version: 0.11.4
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với các lệnh openapi-python-client generate --path openapi/spec.json và .yaml, rồi xem lại các cảnh báo về tham chiếu request body, tham số path và getAccessGraphDot. Schema của vendor không được 포함, vì vậy hãy tái hiện khi schema khả dụng; được xem là hoàn tất khi toàn bộ Python client được tạo mà không có cảnh báo hoặc endpoint nào bị loại bỏ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- openapi, python
- Lĩnh vực
- api, devtools
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100