-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat:Rename operationId at /v1/serp/{path} to serp_v1_serp__path__get #630
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughRenamed the OpenAPI operationId for both GET and POST methods at /v1/serp/{path} from serp_v1_serp__path__post to serp_v1_serp__path__get in src/libs/Jina/openapi.yaml. No changes to parameters, responses, or documented behavior. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/libs/Jina/openapi.yaml (1)
5-5: Consider version bump for SDK-facing changeRenaming operationIds is a breaking change for generated clients even if HTTP behavior is unchanged. Recommend bumping info.version (e.g., 0.1.129) and noting it in release notes.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (4)
src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathGetResponse.Json.g.csis excluded by!**/generated/**src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathGetResponse.g.csis excluded by!**/generated/**src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathGetResponse2.Json.g.csis excluded by!**/generated/**src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathGetResponse2.g.csis excluded by!**/generated/**
📒 Files selected for processing (1)
src/libs/Jina/openapi.yaml(2 hunks)
| - serp | ||
| summary: Serp | ||
| operationId: serp_v1_serp__path__post | ||
| operationId: serp_v1_serp__path__get |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Duplicate operationId across GET and POST — must be unique
Both GET and POST at /v1/serp/{path} now share the same operationId serp_v1_serp__path__get. OpenAPI requires operationId to be unique; many generators will either error or overwrite one handler. Also, the POST operationId ending with _get is misleading.
Apply this diff to restore uniqueness and naming consistency:
/v1/serp/{path}:
get:
tags:
- serp
summary: Serp
- operationId: serp_v1_serp__path__get
+ operationId: serp_v1_serp__path__get
parameters:
- name: path
in: path
required: true
schema:
title: Path
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema: { }
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- serp
summary: Serp
- operationId: serp_v1_serp__path__get
+ operationId: serp_v1_serp__path__post
parameters:
- name: path
in: path
required: true
schema:
title: Path
type: stringRun this script to verify operationId uniqueness across the spec:
Also applies to: 330-330
🏁 Script executed:
#!/bin/bash
set -euo pipefail
pip -q install pyyaml >/dev/null
python - <<'PY'
import yaml, collections
with open('src/libs/Jina/openapi.yaml', 'r', encoding='utf-8') as f:
doc = yaml.safe_load(f)
ops = []
for path, methods in (doc.get('paths') or {}).items():
if not isinstance(methods, dict): continue
for method, op in methods.items():
if not isinstance(op, dict): continue
op_id = op.get('operationId')
if op_id:
ops.append((op_id, path, method))
counter = collections.Counter(op_id for op_id, _, _ in ops)
dups = [(op_id, [(p, m) for (o, p, m) in ops if o == op_id]) for op_id, c in counter.items() if c > 1]
if dups:
print("Duplicate operationIds detected:")
for op_id, locs in dups:
print(f" {op_id}: {locs}")
exit(1)
print("No duplicate operationIds found.")
PYLength of output: 117
Duplicate operationId across GET and POST — must be unique
GET and POST at /v1/serp/{path} both use operationId serp_v1_serp__path__get (src/libs/Jina/openapi.yaml — lines 306 and 330). OpenAPI requires unique operationId; generators may error or overwrite handlers. Apply this diff to restore uniqueness and correct naming:
/v1/serp/{path}:
get:
tags:
- serp
summary: Serp
- operationId: serp_v1_serp__path__get
+ operationId: serp_v1_serp__path__get
parameters:
- name: path
in: path
required: true
schema:
title: Path
type: string
responses:
'200':
description: Successful Response
content:
application/json:
schema: { }
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- serp
summary: Serp
- operationId: serp_v1_serp__path__get
+ operationId: serp_v1_serp__path__post
parameters:
- name: path
in: path
required: true
schema:
title: Path
type: string📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| operationId: serp_v1_serp__path__get | |
| /v1/serp/{path}: | |
| get: | |
| tags: | |
| - serp | |
| summary: Serp | |
| operationId: serp_v1_serp__path__get | |
| parameters: | |
| - name: path | |
| in: path | |
| required: true | |
| schema: | |
| title: Path | |
| type: string | |
| responses: | |
| '200': | |
| description: Successful Response | |
| content: | |
| application/json: | |
| schema: { } | |
| '422': | |
| description: Validation Error | |
| content: | |
| application/json: | |
| schema: | |
| $ref: '#/components/schemas/HTTPValidationError' | |
| post: | |
| tags: | |
| - serp | |
| summary: Serp | |
| operationId: serp_v1_serp__path__post | |
| parameters: | |
| - name: path | |
| in: path | |
| required: true | |
| schema: | |
| title: Path | |
| type: string |
🤖 Prompt for AI Agents
In src/libs/Jina/openapi.yaml around lines 306 and 330, both the GET and POST
operations for /v1/serp/{path} share the same operationId
`serp_v1_serp__path__get`; update the POST operationId to a unique, correct name
such as `serp_v1_serp__path__post` (or equivalent POST-specific identifier), and
then search & update any codegen/handler references that expect the old
operationId so they point to the new POST operationId.
Summary by CodeRabbit