You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 25, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+7-9
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ so developers can use all of those features.
16
16
Currently, the following languages/frameworks are supported:
17
17
18
18
- python (Stability: Stable)
19
-
- java (Stability: Experimental)
19
+
- java (Stability: Stable)
20
20
21
21
## Join Our Community
22
22
We use a Discord server as a place to ask questions and help each other. It offers functionality very similar to Slack.
@@ -49,7 +49,7 @@ You can join us here: https://discord.gg/mHB8WEQuYQ
49
49
- Invalid (in python) property names supported like `from`, `1var`, `hi-there` etc in
50
50
- schema property names
51
51
- endpoint parameter names
52
-
- Payload values are not coerced when validated, so a datetime value can pass other validations that describe the payload only as type string
52
+
- Payload values are not coerced when validated, so a date/date-time value can pass other validations that describe the payload only as type string
53
53
- types are generated for enums of type string/integer/boolean using typing.Literal
54
54
- String transmission of numbers supported with type: string, format: number, value can be accessed as a Decimal with schemas.as_decimal(inst)
55
55
- Multiple content types supported for request and response bodies
@@ -67,11 +67,9 @@ And many more!
67
67
68
68
## Reasons To Use the Java Generator
69
69
70
-
- v3.0.0 - [v3.1.0](docs/generators/java.md#schema-feature) OpenAPI Specification support for component schemas
71
-
- Very [thorough documentation generated in the style of javadocs, includes code samples](samples/client/petstore/java/docs/components/schemas/Money.md#money)
72
-
- Sealed classes used to define different endpoint responses.
73
-
Sealed classes used to define different response body classes.
74
-
Endpoint code samples include exhaustive handling of the sealed classes.
70
+
- v3.0.0 - [v3.1.0](docs/generators/java.md#schema-feature) OpenAPI Specification support
71
+
- Documentation generated in the style of javadocs. Examples: [Money schema](samples/client/petstore/java/docs/components/schemas/Money.md#money1)[Pet.addPet endpoint](samples/client/petstore/java/docs/apis/tags/Pet.md#addpet)
72
+
- Sealed classes used to define endpoint responses/response bodies/validated schema payloads/request bodies
75
73
- Input types constrained for a Schema in SomeSchema.validate
76
74
- validate method can accept arbitrary List/Map/null/int/long/double/float/String json data
77
75
- Immutable List output classes generated and returned by validate for List<?> input
@@ -95,8 +93,8 @@ And many more!
95
93
- Generated interfaces are largely consistent with the python code
96
94
- Openapi spec inline schemas supported at any depth in any location
97
95
- Format support for: int32, int64, float, double, date, datetime, uuid
98
-
- Payload values are not coerced when validated, so a datetime value can pass other validations that describe the payload only as type string
99
-
- types are generated for enums of type string/number/integer/boolean/null
96
+
- Payload values are not coerced when validated, so a date/date-time value can pass other validations that describe the payload only as type string
97
+
-enum types are generated for enums of type string/integer/number/boolean/null
100
98
- String transmission of numbers supported with type: string, format: number
101
99
-[Autogenerated thorough testing of json schema keyword features in models and endpoints](samples/client/3_0_3_unit_test/java/src/test/java/org/openapijsonschematools/client/components/schemas) which come from the [json schema test suite](https://github.com/json-schema-org/JSON-Schema-Test-Suite)
102
100
-[Tests are passing in CI](https://app.circleci.com/pipelines/github/openapi-json-schema-tools/openapi-json-schema-generator?branch=master)
| helpTxt | Generates a Java client library<br /><br />Features in this generator:<br />- v3.0.0 - [v3.0.3](#schema-feature) OpenAPI Specification support for component schemas<br />- Very [thorough documentation generated in the style of javadocs, includes code samples](samples/client/petstore/java/docs/components/schemas/Money.md#money)<br />- Input types constrained for a Schema in SomeSchema.validate<br /> - validate method can accept arbitrary List/Map/null/int/long/double/float/String json data<br />- Immutable List output classes generated and returned by validate for List<?> input<br />- Immutable Map output classes generated and returned by validate for Map<?, ?> input<br />- Strictly typed list input can be instantiated in client code using generated ListBuilders<br />- Strictly typed map input can be instantiated in client code using generated MapBuilders<br /> - Sequential map builders are generated ensuring that required properties are set before build is invoked. Looks like:<br /> - `new MapBuilder().requiredA("a").requiredB("b").build()`<br /> - `new MapBuilder().requiredA("a").requiredB("b").optionalProp("c").additionalProperty("someAddProp", "d").build()`<br />- Run time type checking and validation when<br /> - validating schema payloads<br /> - instantiating List output class (validation run)<br /> - instantiating Map output class (validation run)<br /> - Note: if needed, validation of json schema keywords can be deactivated via a SchemaConfiguration class<br />- Enums classes are generated and may be input into Schema.validate or the List/MapBuilder add/setter methods<br />- The [Checker-Framework's](https://github.com/typetools/checker-framework) NullnessChecker and @Nullable annotations are used in the java client<br /> - ensuring that null pointer exceptions will not happen<br />- Invalid (in java) property names supported like `class`, `1var`, `hi-there` etc in<br /> - component schema names<br /> - schema property names (a fallback setter is written in the MapBuilder)<br />- Generated interfaces are largely consistent with the python code<br />- Openapi spec inline schemas supported at any depth in any location<br />- Format support for: int32, int64, float, double, date, datetime, uuid<br />- Payload values are not coerced when validated, so a datetime value can pass other validations that describe the payload only as type string<br />- types are generated for enums of type string/integer/boolean using typing.Literal<br />- String transmission of numbers supported with type: string, format: number | |
15
+
| helpTxt | Generates a Java client library<br /><br />Features in this generator:<br />- v3.0.0 - [v3.1.0](#schema-feature) OpenAPI Specification support<br />- Very thorough documentation generated in the style of javadocs<br />- Input types constrained for a Schema in SomeSchema.validate<br /> - validate method can accept arbitrary List/Map/null/int/long/double/float/String json data<br />- Immutable List output classes generated and returned by validate for List<?> input<br />- Immutable Map output classes generated and returned by validate for Map<?, ?> input<br />- Strictly typed list input can be instantiated in client code using generated ListBuilders<br />- Strictly typed map input can be instantiated in client code using generated MapBuilders<br /> - Sequential map builders are generated ensuring that required properties are set before build is invoked. Looks like:<br /> - `new MapBuilder().requiredA("a").requiredB("b").build()`<br /> - `new MapBuilder().requiredA("a").requiredB("b").optionalProp("c").additionalProperty("someAddProp", "d").build()`<br />- Run time type checking and validation when<br /> - validating schema payloads<br /> - instantiating List output class (validation run)<br /> - instantiating Map output class (validation run)<br /> - Note: if needed, validation of json schema keywords can be deactivated via a SchemaConfiguration class<br />- Enums classes are generated and may be input into Schema.validate or the List/MapBuilder add/setter methods<br />- The [Checker-Framework's](https://github.com/typetools/checker-framework) NullnessChecker and @Nullable annotations are used in the java client<br /> - ensuring that null pointer exceptions will not happen<br />- Invalid (in java) property names supported like `class`, `1var`, `hi-there` etc in<br /> - component schema names<br /> - schema property names (a fallback setter is written in the MapBuilder)<br />- Generated interfaces are largely consistent with the python code<br />- Openapi spec inline schemas supported at any depth in any location<br />- Format support for: int32, int64, float, double, date, datetime, uuid<br />- Payload values are not coerced when validated, so a date/date-time value can pass other validations that describe the payload only as type string<br />- enum types are generated for enums of type string/integer/number/boolean/null<br />- String transmission of numbers supported with type: string, format: number | |
16
16
17
17
## CONFIG OPTIONS
18
18
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
@@ -218,7 +218,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
218
218
| ---- | --------- | ---------- |
219
219
|Readme|✓|ToolingExtension
220
220
|Servers|✓|OAS3
221
-
|Security|✗|OAS2,OAS3
221
+
|Security|✓|OAS2,OAS3
222
222
|ComponentSchemas|✓|OAS3
223
223
|ComponentResponses|✓|OAS3
224
224
|ComponentParameters|✓|OAS3
@@ -228,7 +228,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
"- v3.0.0 - [v3.0.3](#schema-feature) OpenAPI Specification support for component schemas",
382
-
"- Very [thorough documentation generated in the style of javadocs, includes code samples](samples/client/petstore/java/docs/components/schemas/Money.md#money)",
0 commit comments