openapi-generators / openapi-generators/openapi-python-client

Lots of warnings when generating the geofox gti api

Open
#608 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🐞bug
Dominant language
Python
Stars
2k
Forks
293
Avg merge
34m
Merged PRs (30d)
1

Description

When running openapi-python-client on the gti geofox api I get a lot of warnings:

$ openapi-python-client generate --url https://gti.geofox.de/v3/api-docs/public
Generating open-api-definition-client
Warning(s) encountered while generating. Client was generated, but some pieces may be missing

WARNING parsing POST /gti/public/ticketList within ticket_list_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/TicketListResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/tariffZoneNeighbours within tariff_zone_neighbours_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/TariffZoneNeighboursResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/tariffMetaData within tariff_meta_data_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/TariffMetaDataResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/singleTicketOptimizer within single_ticket_optimizer_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/SingleTicketOptimizerResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/listStations within list_stations_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/LSResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/listLines within list_lines_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/LLResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/init within init_request_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/InitResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/getVehicleMap within vehicle_map_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/VehicleMapResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/getTrackCoordinates within track_coords_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/TrackCoordinatesResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/getTariff within tariff_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/TariffResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/getStationInformation within station_information_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/StationInformationResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/getRoute within get_route_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/GRResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/getIndividualRoute within individual_route_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/IndividualRouteResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/getAnnouncements within announcement_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/AnnouncementResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/departureList within departure_list_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/DLResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/departureCourse within departure_course_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/DCResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/checkPostalCode within postal_code_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/PCResponse'), example=None, examples=None, encoding=None)}, links=None)

WARNING parsing POST /gti/public/checkName within check_name_controller.

Cannot parse response for status code 200, response will be ommitted from generated client

Response(description='OK', headers=None, content={'*/*': MediaType(media_type_schema=Reference(ref='#/components/schemas/CNResponse'), example=None, examples=None, encoding=None)}, links=None)

If you believe this was a mistake or this tool is missing a feature you need, please open an issue at https://github.com/openapi-generators/openapi-python-client/issues/new/choose

After generation, all the api files only contain sync_detailed and asyncio_detailed methods. sync and async methods are missing, e.g.:

$ grep def open-api-definition-client/open_api_definition_client/api/announcement_controller/get_announcements.py 
def _get_kwargs(
def _build_response(*, response: httpx.Response) -> Response[Any]:
def sync_detailed(
async def asyncio_detailed(

Is this a bug in your code or something I should report to Geofox?

$ openapi-python-client --version
openapi-python-client version: 0.11.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce with openapi-python-client generate --url https://gti.geofox.de/v3/api-docs/public using version 0.11.1, then inspect the generated open_api_definition_client/api/announcement_controller/get_announcements.py and the other affected API files. Compare the Geofox response definitions with the generator's parsing behavior; done means the valid responses generate the expected convenience methods without the reported warnings, or the issue is shown to belong to Geofox's specification.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.