OpenAPITools / OpenAPITools/openapi-generator
[BUG] [Python-fastapi] Regex patterns contain extra forward slashes in path params
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Bug Report Checklist
- Have you provided a full/minimal spec to reproduce the issue?
- Have you validated the input using an OpenAPI validator (example)?
- Have you tested with the latest master to confirm the issue still exists?
- Have you searched for related issues/PRs?
- What's the actual output vs expected output?
- [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
When generating the specified content in the OpenAPI file, the regular expressions in the generated code incorrectly have slashes / added at the beginning and end of each regex pattern.
openapi-generator version
v7.9.0
OpenAPI declaration file content or url
Here is an example of the OpenAPI declaration file content:
https://gist.github.com/reyescabello/6cd965708fd0b03e8eadb9f3c0c0a899
Generation Details
Generated with jar:
java -jar openapi-generator-cli.jar generate -i openapi.yml -g python-fastapi -o openapi_server
Steps to reproduce
When generating the specified content in the OpenAPI file, the endpoint that includes the pattern looks like this:
async def find_product_by_code(
code: str = Path(
description="Product code to search",
regex=r"/^(?=.*[A-Z])(?=.*\d)[A-Z\d]{8,12}$/"),
) -> Product:
"""The user must have any permission in the application."""
return await BaseProductApi.subclasses[0]().find_product_by_code(code)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the python-fastapi generator invoked by java -jar openapi-generator-cli.jar generate -i openapi.yml -g python-fastapi -o openapi_server, using the linked OpenAPI declaration as the reproduction input. Compare the generated Path regex with the pattern in the issue; done means the generated pattern preserves the intended expression without extra leading or trailing slashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fastapi, java, python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100