set param required tag to False by default

PiperOrigin-RevId: 754382785
This commit is contained in:
Xiang (Sean) Zhou
2025-05-03 10:30:59 -07:00
committed by Copybara-Service
parent 24024f7fc4
commit 5846b24b71
5 changed files with 57 additions and 57 deletions

View File

@@ -17,9 +17,13 @@ from textwrap import dedent
from typing import Any, Dict, List, Optional, Union
from fastapi.encoders import jsonable_encoder
from fastapi.openapi.models import Operation, Parameter, Schema
from fastapi.openapi.models import Operation
from fastapi.openapi.models import Parameter
from fastapi.openapi.models import Schema
from ..common.common import ApiParameter, PydocHelper, to_snake_case
from ..common.common import ApiParameter
from ..common.common import PydocHelper
from ..common.common import to_snake_case
class OperationParser:
@@ -76,7 +80,9 @@ class OperationParser:
description = param.description or ''
location = param.in_ or ''
schema = param.schema_ or {} # Use schema_ instead of .schema
schema.description = description if schema.description is None and description != '' else schema.description
schema.description = (
description if not schema.description else schema.description
)
required = param.required
self.params.append(
@@ -85,7 +91,7 @@ class OperationParser:
param_location=location,
param_schema=schema,
description=description,
required=required
required=required,
)
)
@@ -233,7 +239,7 @@ class OperationParser:
}
return {
'properties': properties,
'required': [p.py_name for p in self.params if p.required is not False],
'required': [p.py_name for p in self.params if p.required],
'title': f"{self.operation.operationId or 'unnamed'}_Arguments",
'type': 'object',
}