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

[Rust Server] Don't change the API version #5458

Merged
merged 2 commits into from Mar 1, 2020

Conversation

richardwhiuk
Copy link
Contributor

Don't change the API version which is exposed in crate::API_VERSION.

This is useful, because often the API version needs to be passed on the API (e.g. as a query parameter), at which point it's useful if you can use the API version which the library itself is exposing.

As such, we change the logic such that:

  • If the API version isn't set, we don't expose it.

  • If it is set, we leave it well alone.

  • Always pass a package version:

    • Pass in the passed package version by preference
    • Pass in the API version if it's not.
      • If the API version isn't set, we use 1.0.0
      • If it is set, and isn't a valid semver, we append .0 such that we have
        something with three digits (so that an API version of 1 works).

This is obviously breaking, as we are changing the exposed API version for a bunch of crates, but it's the right long term fix.

Rust Server Technical Committee

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

Don't change the API version which is exposed in `crate::API_VERSION`.

- If the API version isn't set, we don't expose it.

- If it is set, we leave it well alone.

- Always pass a package version:
 - Pass in the passed package version by preference
 - Pass in the API version if it's not.
   - If the API version isn't set, we use 1.0.0
   - If it is set, and isn't a valid semver, we append .0 such that we have
     something with three digits (so that an API version of 1 works).
@richardwhiuk richardwhiuk merged commit 8f8443d into OpenAPITools:5.0.x Mar 1, 2020
@richardwhiuk richardwhiuk deleted the rust-server-api-version branch March 1, 2020 10:32
alexsuperdev added a commit to alexsuperdev/openapi-generator that referenced this pull request Mar 15, 2020
catch NPE if no OneOf Schemas is setted. merged from 5.0 branch

[Rust Server] Support header objects (OpenAPITools#5337)

[Rust Server] Support header objects

Support operations with objects in the header

[Rust Server] Support objects as query parameters (OpenAPITools#5338)

- Support objects as query parameters
- Update samples

 [Rust Server] Add support for untyped properties and models (OpenAPITools#5339)

* [Rust Server] Add support for untyped properties
* [Rust Server] Improve support for untyped data
* Update samples

[Rust Server] Support RFC 7807 (OpenAPITools#5407)

* Support RFC 7807 - Problem Details for HTTP APIs
* Add test for RFC 7807
* Update samples

[Rust Server] Nullable fixes (OpenAPITools#5408)

* [Rust Server] Nullable fixes
* [Rust Server] Add tests for nullable cases
* Update samples

[Rust Server] Handle numeric response description (OpenAPITools#5452)

* [Rust Server] Handle response descriptions which start with a number.
* [Rust Server] Add test for numeric response descriptions
* Update samples

[Rust Server] Support numeric operation IDs (OpenAPITools#5453)

* [Rust Server] Support operation IDs which begin with a number
* [Rust Server] Add test for a numeric operation ID
* Update samples

[Rust Server] Support RFC 7386 (OpenAPITools#5454)

* [Rust Server] Support RFC 7386

Support application/merge-patch+json as defined by RFC 7386 -
https://tools.ietf.org/html/rfc7386

Handle exactly the same as application/json.

* [Rust Server] Add test for RFC 7386

* Update samples

[Rust Server] Suffix reserved words with _ (OpenAPITools#5455)

* [Rust Server] Suffix reserved words with _

Suffix reserved words with an underscore instead of prefixing them.

This follows convention in the Rust community, as prefixing with an underscore
indicates an unused variable in Rust.

* Update samples

[Rust Server] Don't change API version (OpenAPITools#5458)

Don't change the API version which is exposed in `crate::API_VERSION`.

- If the API version isn't set, we don't expose it.

- If it is set, we leave it well alone.

- Always pass a package version:
 - Pass in the passed package version by preference
 - Pass in the API version if it's not.
   - If the API version isn't set, we use 1.0.0
   - If it is set, and isn't a valid semver, we append .0 such that we have
     something with three digits (so that an API version of 1 works).

[Rust Server] Support OpenAPI v3 callbacks (OpenAPITools#5405)

* [Rust Server] Support Callbacks

* [Rust Server] Support callbacks in the examples

* [Rust Server] Update features documentation

* [Rust Server] Mark as supporting callbacks

* Update samples

* [Rust Server] Add tests for callbacks

* [Rust Server] Fix README

Don't suggest examples which don't exist

[Rust Server] Test allOf objects including base properties (OpenAPITools#5457)

* [Rust Server] Add operationIds for rust-server-test

* [Rust Server] Add test for allOf

* Update samples

[Rust Server] Make parse error Display-able (OpenAPITools#5490)

* [Rust Server] Make parse error displayable

  Change error type to be displayable to prevent compile errors

* [Rust Server] Add test for enum in path

* Update samples
@wing328 wing328 added this to the 4.3.0 milestone Mar 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants