Skip to content
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

[JavaScript] CodeGen for Docs Camelizes Variables Without My Consent #6530

Open
brandonfuller opened this issue Sep 20, 2017 · 4 comments
Open

Comments

@brandonfuller
Copy link

Description

We just found that our JavaScript docs being created by Swagger are incorrect. Our API takes variables like "grant_type" in the POST body. However, the SDK docs tell the user to use "grantType". We see that the Javascript CodeGen camelizes all the variables for the documentation, which confuses the dev reading the documentation.

Here is a sample documentation page:
https://github.com/bluejeans/api-rest-onvideo/blob/master/libs/javascript/docs/GrantRequestClient.md

Swagger-codegen version

2.2.3. Looks to have always been this way.

Swagger declaration file content or url
  GrantRequestClient:
    type: object
    properties:
      grant_type:
        type: string
        default: client_credentials
        description: The type of access token you are requesting.
      client_id:
        type: string
        description: The value given within the BlueJeans Enterprise Administration console.
      client_secret:
        type: string
        description: The value given within the BlueJeans Enterprise Administration console.
    required:
      - grant_type
      - client_id
      - client_secret
Command line used for generation

java -jar swagger-codegen-cli.jar generate -i ../swagger.yaml -l javascript -o ../libs/javascript --config config.javascript.json

Config just contains:

{
"moduleName":"X",
"projectName":"Y",
"projectDescription":"Z",
"projectLicenseName":"MIT",
"gitUserId":"A",
"gitRepoId":"B#npm-repo"
}

Steps to reproduce
  1. Generate code via command line
  2. View documentation file of a model that uses _ in a variable name
Related issues/PRs
Suggest a fix/enhancement

Can we stop camelizing variables in the docs that should not be modified?

@wing328
Copy link
Contributor

wing328 commented Sep 24, 2017

@brandonfuller Similar to Typescript, we can add an option to use the "original" name of the variable:

	modelPropertyNaming
	    Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)

Would you have time to add this feature to the JavaScript generator? If yes, I can show you some good starting points.

cc @CodeNinjai @frol @cliffano

@ishu-harsh
Copy link

It really saved my Job :)

@itabrezshaikh
Copy link

Yes same here :)

@itabrezshaikh
Copy link

I suggest that, it should be "original" by default. This is because a software should not impose naming convention (opinion). Because we had fallen into the same problem (even after the issue was solve in 2018) and solved it by searching the issues. If it would original by default then this problem would not have occurred again even after fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants