2021.3
copied from openapi-processor-core
javadoc improvements
openapi-processor/openapi-processor-core#56, generate endpoint javadoc of an OpenAPI operation from summary
& description
(previously only description
was used) using the following format:
/**
* OpenAPI summary (plain text)
*
* OpenAPI description (common mark)
*/
@GetMapping("/foo")
Foo getFoo();
#openapi-processor/openapi-processor-core57, generate pojo javadoc from description
fields.
/** schema description (common mark) */
public class Foo {
/** property description (common mark) */
@JsonProperty("foobar")
private String foobar;
public String getFoobar() {
return foobar;
}
public void setFoobar(String foobar) {
this.foobar = foobar;
}
}
The processor generates multi line javadoc comments but the code formatter may flatten them into single line comments as in the example above.
openapi-processor/openapi-processor-spring#124, $ref
-chain
A $ref
-chain, like the one below, (a $ref
that points to another $ref
and so on..., possibly spanning multiple files) lost the original/correct name of the schema and generated wrong class names. The processor does now properly resolve the chain with the correct name.
As an example for the chain below, the processor selects User
for the User
schema (correct). Previously it selected user
or something else depending on the chain (wrong):
openapi.yaml (excerpt):
paths:
'/user':
$ref: ./apis/user.v1.yaml#/paths/~1user
apis/user.v1.yaml (excerpt):
paths:
'/user':
post:
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/User'
components:
schemas:
User:
$ref: ../models/user.model.v1.yaml
models/user.model.v1.yaml (excerpt):
type: object
properties:
...
improved names of inline schemas (maybe breaking)
internally the processor assigns names to inline schemas (request body & response). For example the following response would get the name QueryResponse200
. It is now QueryGetResponse200
. Difference is that it contains the http method.
...
paths:
/query:
get:
responses:
'200':
...
In theory it is possible to map the schema using its generated inline name (named schema mappings are preferred). Since the inline name has changed such a mapping needs to be updated.
updated dependencies
- updated openapi4j parser to 1.0.7 (was 1.0.4)