feat: add configurable operationId generation strategy #1132
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a configurable operationId generation strategy to allow users to choose different formats for
operationId in the generated OpenAPI documentation.
Motivation
After commit b279aa6, the operationId was changed from methodId (e.g.,
athena-machine-getGuarderToken-POST)to method name only (e.g.,
openRoomAndUploadNextSection). This PR provides a configuration option to supportmultiple strategies.
Changes
OperationIdStrategyEnumwith three strategies:METHOD_NAME: Use the method name only (default, with duplicate handling)METHOD_ID: Use the methodId (MD5 hash)PATH_METHOD_HTTP: Use path + method name + HTTP method typeoperationIdStrategyconfiguration field inApiConfigOpenApiBuilderto implement the strategy logicMETHOD_NAMEas defaultUsage Example
In
smart-doc.json:{ "operationIdStrategy": "PATH_METHOD_HTTP" } Examples - METHOD_NAME: getUserInfo or getUserInfo_1 for duplicates - METHOD_ID: user-controller-getUserInfo-1-a1b2c3d4e5f6 - PATH_METHOD_HTTP: api-users-updateProfile-POST