From 685539b7be59a1b3ff13c717f566e4df60dee740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A1ndor=20Holozsny=C3=A1k?= Date: Sun, 25 Sep 2022 17:48:09 +0200 Subject: [PATCH 1/2] docs(core): #9 Initial Documentation - Asciidoc documentation --- docs/index.adoc | 27 ++++++++++ docs/my-theme.yml | 26 +++++++++ docs/project-overview.adoc | 1 + docs/rodnansol.css | 108 +++++++++++++++++++++++++++++++++++++ 4 files changed, 162 insertions(+) create mode 100644 docs/index.adoc create mode 100644 docs/my-theme.yml create mode 100644 docs/project-overview.adoc create mode 100644 docs/rodnansol.css diff --git a/docs/index.adoc b/docs/index.adoc new file mode 100644 index 0000000..128eb68 --- /dev/null +++ b/docs/index.adoc @@ -0,0 +1,27 @@ += OpenAPI Extender Documentation +:stylesheet: rodnansol.css +:doctype: book +:toc: left + +include::project-overview.adoc[] + +== Motivation + +== Goals + +== Flows and logic +[plantuml, target=output-file-name, format=png] +.... +@startuml +class BlockProcessor +class DiagramBlock +class DitaaBlock +class PlantUmlBlock + +BlockProcessor <|-- DiagramBlock +DiagramBlock <|-- DitaaBlock +DiagramBlock <|-- PlantUmlBlock +@enduml +.... + + diff --git a/docs/my-theme.yml b/docs/my-theme.yml new file mode 100644 index 0000000..ea41a65 --- /dev/null +++ b/docs/my-theme.yml @@ -0,0 +1,26 @@ +extends: base +page: + layout: portrait + margin: [0.75in, 1in, 0.75in, 1in] + size: Letter +base: + font-color: #333333 + font-family: Times-Roman + font-size: 12 + line-height-length: 17 + line-height: $base-line-height-length / $base-font-size +role: + removed: + font-style: italic + text-decoration: line-through + text-decoration-color: #FF0000 +heading: + font-color: #262626 + font-size: 17 + font-style: bold + line-height: 1.2 + margin-bottom: 10 +link: + font-color: #002FA7 +list: + indent: $base-font-size * 1.5 diff --git a/docs/project-overview.adoc b/docs/project-overview.adoc new file mode 100644 index 0000000..71a3b16 --- /dev/null +++ b/docs/project-overview.adoc @@ -0,0 +1 @@ +== Project overview diff --git a/docs/rodnansol.css b/docs/rodnansol.css new file mode 100644 index 0000000..a4ebd5e --- /dev/null +++ b/docs/rodnansol.css @@ -0,0 +1,108 @@ +@import url(//fonts.googleapis.com/css?family=Montserrat|Open+Sans); +@import url(https://cdn.jsdelivr.net/gh/asciidoctor/asciidoctor@2.0/data/stylesheets/asciidoctor-default.css); /* Default asciidoc style framework - important */ + +:root { + --rodnansol-color: #a275f4; + --maincolor: #FFFFFF; + --primarycolor: #a275f4; + --secondarycolor: #7d75f4; + --tertiarycolor: #CCCCCC; + --highlightcolor: #e59728; + --sidebarbackground: #12151f; + --linkcolor: #0D47A1; + --linkcoloralternate: #db3279; + --white: #FFFFFF; + --black: #000000; +} + +/* Text styles */ + +body { + font-family: "Open Sans", sans-serif; + background-color: var(--maincolor); + color: var(--black); +} + +h1 { + color: var(--primarycolor) !important; + font-family: "Montserrat", sans-serif; +} + +h2, h3, h4, h5, h6 { + color: var(--secondarycolor) !important; + font-family: "Montserrat", sans-serif; +} + +.title { + color: var(--black) !important; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: normal; +} + +a { + text-decoration: none; +} + +p { + font-family: "Open Sans", sans-serif ! important +} + +#toc.toc2 a:link { + color: var(--linkcolor); +} + +blockquote { + color: var(--linkcoloralternate) !important +} + +.quoteblock blockquote:before { + color: var(--linkcoloralternate) +} + +code { + color: var(--white); + background-color: var(--highlightcolor) !important +} + +mark { + background-color: var(--highlightcolor) +} + +th { + background-color: var(--maincolor); + color: var(--black) !important; +} + +td { + background-color: var(--maincolor); + color: var(--black) !important +} + + +#toc.toc2 { + background-color: var(--sidebarbackground) !important; +} + +#toc.toc2 a { + color: var(--white) +} + +#toctitle { + color: var(--rodnansol-color); +} + +video { + max-width: 100%; +} + +@media all and (max-width: 600px) { + table { + width: 55vw !important; + font-size: 3vw; + } +} + +.sect1 { + color: var(--rodnansol-color) +} From 7fcf1f8f9b7aa8d3140b1c71a1c6b4ecce7a3b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A1ndor=20Holozsny=C3=A1k?= Date: Sun, 25 Sep 2022 18:27:10 +0200 Subject: [PATCH 2/2] docs(core): #9 Initial Documentation - Small changes in the README --- README.MD | 277 +++++++++++------- docs/generated-files.png | Bin 37076 -> 41013 bytes ...SpringBootOpenapiWithTestApplication.java} | 13 +- 3 files changed, 186 insertions(+), 104 deletions(-) rename samples/spring-boot-openapi-with-test/src/main/java/com/example/springbootopenmapiwithtest/{SpringBootOpenmapiWithTestApplication.java => SpringBootOpenapiWithTestApplication.java} (78%) diff --git a/README.MD b/README.MD index 8d714f3..a0cf452 100644 --- a/README.MD +++ b/README.MD @@ -15,7 +15,10 @@ requirements/needs/gaps in your documentation. Developers are writing unit and integration tests on their projects, and a good test could be providing the different input and output values for a component. API developers are writing tons of integration tests for the different use cases and it happens sometimes that they are not giving out these tests, because of course security and privacy rules, but some output of these tests could be used to extend the already existing API. -[Spring's REST Docs](https://github.com/spring-projects/spring-restdocs) does something similar, but it is not heavily involved in the OpenAPI initiative. +## Alternatives + +- [Spring's REST Docs](https://github.com/spring-projects/spring-restdocs) does something similar, but it is not heavily involved in the OpenAPI initiative. +- [Spring REST Docs API specification Integration](https://github.com/ePages-de/restdocs-api-spec) kinda the wanted features, but it is totally test driven. ## Implementation @@ -28,23 +31,46 @@ The project is split up into multiple modules to make sure the end users are not ## Usage +### Generate resources with tests +
- Spring Boot based example + Spring Boot SpringDoc based example ```java @SpringBootApplication -class SpringBootOpenmapiWithTestApplication { +class SpringBootOpenapiWithTestApplication { public static void main(String[] args) { SpringApplication.run(SpringBootOpenmapiWithTestApplication.class, args); } + /** + * Bean to initialize the resources. + */ + @Bean + public ExampleResourceReaderBean exampleResourceReaderBean() { + ExampleResourceReaderBean exampleResourceReaderBean = new ExampleResourceReaderBean(); + exampleResourceReaderBean.initializeResources(); + return exampleResourceReaderBean; + } + + /** + * Operation customizer. + */ @Bean public ApiResponseAndExampleCustomizer customizer() { return new ApiResponseAndExampleCustomizer(); } + /** + * OpenAPI object customizer bean. + */ + @Bean + public OpenApiCustomiser openApiCustomiser() { + return new OpenApiExampleExtenderCustomizer(); + } + } @@ -184,10 +210,14 @@ class UserControllerTest { ``` -After running: `./mvnw package` the following generated classes will pop up: +After running: `./mvnw package` the following generated resources will pop up: ![generated-files.png](docs/generated-files.png) -**requests/postUser/201_Creates a user.json**: +By default, the generated files are going to be created to the following paths: +- `target/classes/openapi-extender/requests/` +- `target/classes/openapi-extender/responses/` + +**requests/postUser_201_Creates a user.json**: ```json { "username": "new-bob", @@ -197,7 +227,7 @@ After running: `./mvnw package` the following generated classes will pop up: } ``` -**responses/postUser/201_Successful operation.json**: +**responses/postUser_201_Successful operation.json**: ```json { "username" : "joe", @@ -205,7 +235,7 @@ After running: `./mvnw package` the following generated classes will pop up: } ``` -**responses/postUser/422_When passwords does not match.json**: +**responses/postUser_422_When passwords does not match.json**: ```json { "message" : "Passwords must match", @@ -231,20 +261,20 @@ info: title: OpenAPI definition version: v0 servers: -- url: http://localhost:8080 - description: Generated server url + - url: http://localhost:8080 + description: Generated server url paths: /user: get: tags: - - user-controller + - user-controller operationId: getUser parameters: - - name: id - in: query - required: false - schema: - type: string + - name: id + in: query + required: false + schema: + type: string responses: "200": description: OK @@ -254,55 +284,41 @@ paths: type: string examples: Standard response: - description: Standard response - value: |- - { - "username" : "joe", - "fullName" : "Joe Big" - } + description: "" + $ref: '#/components/examples/response_getUser_application_json_Standard + response' application/xml: schema: type: string examples: Standard response: - description: Standard response - value: |- - { - "username" : "joe", - "fullName" : "Joe Big" - } - "500": + description: "" + $ref: '#/components/examples/response_getUser_application_json_Standard + response' + "400": content: application/json: examples: - When coupon code does not exist: - description: When coupon code does not exist - value: |- - { - "message" : "Internal Server Error BAD2", - "cause" : "Bad because internal" - } - When server explodes: - description: When server explodes - value: |- - { - "message" : "Internal Server Error BAD2", - "cause" : "Bad because internal" - } - "400": + When bad thing happens: + description: Happens because the id is BAD and it is code to fail + in these cases + $ref: '#/components/examples/response_getUser_application_json_When + bad thing happens' + "500": content: application/json: examples: - When bad thing happens: - description: When bad thing happens - value: |- - { - "message" : "Bad BAD", - "cause" : "Cause it went bad" - } + When coupon code does not exist: + description: "" + $ref: '#/components/examples/response_getUser_application_json_When + coupon code does not exist' + When server explodes: + description: "" + $ref: '#/components/examples/response_getUser_application_json_When + server explodes' post: tags: - - user-controller + - user-controller operationId: postUser requestBody: content: @@ -310,33 +326,18 @@ paths: schema: $ref: '#/components/schemas/UserRequest' examples: - Will throw error - Returns:422: - description: Will throw error - Returns:422 - value: |- - { - "username" : "alex123", - "password" : "password123", - "passwordConfirmation" : "password12", - "fullName" : "Alex King" - } - Will throw error because user already exist - Returns:422: - description: Will throw error because user already exist - Returns:422 - value: |- - { - "username" : "bob", - "password" : "password123", - "passwordConfirmation" : "password123", - "fullName" : "Bob Sug" - } - Creates a user - Returns:201: - description: Creates a user - Returns:201 - value: |- - { - "username" : "new-bob", - "password" : "password123", - "passwordConfirmation" : "password123", - "fullName" : "Bob Sug" - } + Creates a user: + description: "Returns: HTTP 201" + $ref: '#/components/examples/request_postUser_application_json_Creates + a user' + Will throw error because user already exist: + description: "Returns: HTTP 422" + $ref: '#/components/examples/request_postUser_application_json_Will + throw error because user already exist' + Will throw error: + description: "Returns: HTTP 422" + $ref: '#/components/examples/request_postUser_application_json_Will + throw error' required: true responses: "200": @@ -353,39 +354,27 @@ paths: application/json: examples: Successful operation: - description: Successful operation - value: |- - { - "username" : "joe", - "fullName" : "Joe Big" - } + description: "" + $ref: '#/components/examples/response_postUser_application_json_Successful + operation' application/xml: examples: Successful operation: - description: Successful operation - value: | - - joe - Joe Big - + description: "" + $ref: '#/components/examples/response_postUser_application_xml_Successful + operation' "422": content: application/json: examples: When passwords does not match: - description: When passwords does not match - value: |- - { - "message" : "Passwords must match", - "cause" : "Cause it went bad" - } + description: "" + $ref: '#/components/examples/response_postUser_application_json_When + passwords does not match' When username already exist: - description: When username already exist - value: |- - { - "message" : "Username already exists", - "cause" : "Cause it went bad" - } + description: "" + $ref: '#/components/examples/response_postUser_application_json_When + username already exist' components: schemas: UserRequest: @@ -399,5 +388,89 @@ components: type: string fullName: type: string + examples: + request_postUser_application_json_Creates a user: + description: "" + value: |- + { + "username" : "new-bob", + "password" : "password123", + "passwordConfirmation" : "password123", + "fullName" : "Bob Sug" + } + response_postUser_application_json_Successful operation: + description: "" + value: |- + { + "username" : "joe", + "fullName" : "Joe Big" + } + response_getUser_application_json_When coupon code does not exist: + description: "" + value: |- + { + "message" : "Internal Server Error BAD2", + "cause" : "Bad because internal" + } + response_getUser_application_json_When server explodes: + description: "" + value: |- + { + "message" : "Internal Server Error BAD2", + "cause" : "Bad because internal" + } + response_getUser_application_json_When bad thing happens: + description: Happens because the id is BAD and it is code to fail in these cases + value: |- + { + "message" : "Bad BAD", + "cause" : "Cause it went bad" + } + request_postUser_application_json_Will throw error: + description: "" + value: |- + { + "username" : "alex123", + "password" : "password123", + "passwordConfirmation" : "password12", + "fullName" : "Alex King" + } + response_postUser_application_xml_Successful operation: + description: "" + value: | + + joe + Joe Big + + response_postUser_application_json_When username already exist: + description: "" + value: |- + { + "message" : "Username already exists", + "cause" : "Cause it went bad" + } + request_postUser_application_json_Will throw error because user already exist: + description: "" + value: |- + { + "username" : "bob", + "password" : "password123", + "passwordConfirmation" : "password123", + "fullName" : "Bob Sug" + } + response_postUser_application_json_When passwords does not match: + description: "" + value: |- + { + "message" : "Passwords must match", + "cause" : "Cause it went bad" + } + response_getUser_application_json_Standard response: + description: "" + value: |- + { + "username" : "joe", + "fullName" : "Joe Big" + } ```
diff --git a/docs/generated-files.png b/docs/generated-files.png index b84d1681764ce0084fa099a7ebdc218a990cbc6d..22bc484611e2b46bf3030ba0d2ddf35445d97ad3 100644 GIT binary patch literal 41013 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 Bd|v