RicoSuter/NSwag

need to remove/replace some more characters that are invalid for C# method names when using operationId and path segments

Open

#3398 opened on Apr 7, 2021

View on GitHub
 (3 comments) (0 reactions) (0 assignees)C# (6,291 stars) (1,189 forks)batch import
help wantedproject: NSwag.CodeGeneration.CSharp (Clients)

Description

I have a swagger 2.0 file that uses a query parameter in the path and has an operationId that contains a $

This is hitting VMware's vCenter

    "/rest/vcenter/vcha/cluster/mode?vmw-task=true": {
        "put": {
            [... extra deleted ...]
            "operationId": "set$task"
        }
    },

when using SingleClientFromPathSegments, the method name generated is "RestVcenterVchaClusterMode?vmwTask=trueAsync" which is invalid (? and = need to be removed or replaced AFAICT?)

when using SingleClientFromOperationId, the method name generated is "Set$taskAsync" which is invalid ($ needs to be removed or replaced AFAICT?)

Hopefully filtering out characters that are invalid C# would do the trick?

Contributor guide