[ 
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)

Reply via email to