[
https://issues.apache.org/jira/browse/FINERACT-2586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sandro Martínez Pérez updated FINERACT-2586:
--------------------------------------------
Description:
Fineract currently relies on Swagger's default *operationIds* behavior when an
endpoint does not define one explicitly. That can produce unstable generated
names such as {*}_1{*}, {*}_2{*}, etc., which then leak into generated SDK
methods and tests. See https://issues.apache.org/jira/browse/FINERACT-2501
So, the idea is to handle that directly in the existing Swagger generation flow
inside {*}:fineract-provider{*}, so that:
* explicit *operationIds* stay exactly as they are
* duplicates fail the build instead of being silently renamed by Swagger
This keeps the solution build-time only and inside the current OpenAPI
generation flow.
was:
Fineract currently relies on Swagger's default *operationIds* behavior when an
endpoint does not define one explicitly. That can produce unstable generated
names such as {*}_1{*}, {*}_2{*}, etc., which then leak into generated SDK
methods and tests. See https://issues.apache.org/jira/browse/FINERACT-2501
So, the idea is to handle that directly in the existing Swagger generation flow
inside {*}:fineract-provider{*}, so that:
* explicit *operationIds* stay exactly as they are
* missing *operationIds* get a deterministic fallback based on *path + http
method* (this can be changed if needed)
* duplicates fail the build instead of being silently renamed by Swagger
This keeps the solution build-time only and inside the current OpenAPI
generation flow.
> Add fail on duplicate explicit IDs
> ----------------------------------
>
> Key: FINERACT-2586
> URL: https://issues.apache.org/jira/browse/FINERACT-2586
> Project: Apache Fineract
> Issue Type: Improvement
> Components: Docs
> Affects Versions: 1.14.0
> Reporter: Sandro Martínez Pérez
> Priority: Major
> Labels: doc, documentation, perfomance, test-stability
> Fix For: 1.15.0
>
>
> Fineract currently relies on Swagger's default *operationIds* behavior when
> an endpoint does not define one explicitly. That can produce unstable
> generated names such as {*}_1{*}, {*}_2{*}, etc., which then leak into
> generated SDK methods and tests. See
> https://issues.apache.org/jira/browse/FINERACT-2501
> So, the idea is to handle that directly in the existing Swagger generation
> flow inside {*}:fineract-provider{*}, so that:
> * explicit *operationIds* stay exactly as they are
> * duplicates fail the build instead of being silently renamed by Swagger
> This keeps the solution build-time only and inside the current OpenAPI
> generation flow.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)