Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
The current REST API uses different naming schemes for fields/parameters; many legacy fields use hyphens, while newer fields use camelCase.
Hyphens are problematic for front-end development:
"This results in the frontend having to use string-lookups to access those values and we lose the type information when doing that."
-- Daryl Roberts
Public Interfaces
The entire REST API. There's too much to list here.
Proposed Changes
Change all fields/parameters to camelCase.
Compatibility, Deprecation, and Migration Plan
- What impact (if any) will there be on existing users?
- Virtually every tooling against the REST API will break. Users that generated a client from the OpenAPI spec should only have to regenerate the client.
- If we are changing behavior how will we phase out the older behavior?
- It is theoretically possible to duplicate all fields/parameters in the 1.x APIs, but it would double the serialization overhead and invite a new classes of bugs (== both fields being in the request / consistency errors between supposedly identical fields).
Test Plan
We can enforce the naming scheme in the REST API generators.