From 72aed41b7f62e00ae82ee1dc8ed47101628e931d Mon Sep 17 00:00:00 2001 From: Lisa Jamen <31409174+ljamen@users.noreply.github.com> Date: Tue, 28 Feb 2023 14:18:36 -0600 Subject: [PATCH] Created Nima dir for docs (#6306) * new files for nima * update sitegen * add files * changed UC * updated i in Nima * remove accent i * added openapi * updated sitegen.yaml with openapi dirs * added openapi images * copyright fixes * updated copyright * added new lines to end * updated files for Tim * updates for openapi cors copyright --- docs/about/additional_info.adoc | 20 + docs/about/benefits.adoc | 19 + docs/about/doc_overview.adoc | 143 +++++ docs/about/generating_project.adoc | 86 +++ docs/about/intro.adoc | 26 + docs/about/introduction.adoc | 6 +- docs/config/config_reference.adoc | 1 + .../io_helidon_openapi_OpenAPISupport.adoc | 3 +- docs/config/io_helidon_openapi_OpenApiUi.adoc | 57 ++ .../io_helidon_openapi_SEOpenAPISupport.adoc | 3 +- ...ui-screen-capture-greeting-mp-expanded.png | Bin 0 -> 125478 bytes ...pi-ui-screen-capture-greeting-mp-start.png | Bin 0 -> 60025 bytes ...ui-screen-capture-greeting-se-expanded.png | Bin 0 -> 115513 bytes ...pi-ui-screen-capture-greeting-se-start.png | Bin 0 -> 89280 bytes docs/includes/attributes.adoc | 14 + docs/includes/cors.adoc | 4 +- docs/includes/mp.adoc | 4 +- docs/includes/nima.adoc | 31 + docs/includes/openapi/openapi-generator.adoc | 540 ++++++++++++++++++ docs/includes/openapi/openapi-ui.adoc | 200 +++++++ docs/includes/openapi/openapi.adoc | 218 +++++++ docs/includes/pages.adoc | 11 +- docs/includes/se.adoc | 4 +- docs/mp/introduction.adoc | 4 +- docs/mp/openapi/openapi-generator.adoc | 68 +++ docs/mp/openapi/openapi-ui.adoc | 54 ++ docs/mp/openapi/openapi.adoc | 267 +++++++++ docs/nima/guides/overview.adoc | 28 + docs/nima/introduction.adoc | 26 + docs/se/introduction.adoc | 4 +- docs/se/openapi/openapi-generator.adoc | 303 ++++++++++ docs/se/openapi/openapi-ui.adoc | 130 +++++ docs/se/openapi/openapi.adoc | 126 ++++ docs/sitegen.yaml | 224 ++++---- 34 files changed, 2507 insertions(+), 117 deletions(-) create mode 100644 docs/about/additional_info.adoc create mode 100644 docs/about/benefits.adoc create mode 100644 docs/about/doc_overview.adoc create mode 100644 docs/about/generating_project.adoc create mode 100644 docs/about/intro.adoc create mode 100644 docs/config/io_helidon_openapi_OpenApiUi.adoc create mode 100644 docs/images/openapi-ui-screen-capture-greeting-mp-expanded.png create mode 100644 docs/images/openapi-ui-screen-capture-greeting-mp-start.png create mode 100644 docs/images/openapi-ui-screen-capture-greeting-se-expanded.png create mode 100644 docs/images/openapi-ui-screen-capture-greeting-se-start.png create mode 100644 docs/includes/nima.adoc create mode 100644 docs/includes/openapi/openapi-generator.adoc create mode 100644 docs/includes/openapi/openapi-ui.adoc create mode 100644 docs/includes/openapi/openapi.adoc create mode 100644 docs/mp/openapi/openapi-generator.adoc create mode 100644 docs/mp/openapi/openapi-ui.adoc create mode 100644 docs/mp/openapi/openapi.adoc create mode 100644 docs/nima/guides/overview.adoc create mode 100644 docs/nima/introduction.adoc create mode 100644 docs/se/openapi/openapi-generator.adoc create mode 100644 docs/se/openapi/openapi-ui.adoc create mode 100644 docs/se/openapi/openapi.adoc diff --git a/docs/about/additional_info.adoc b/docs/about/additional_info.adoc new file mode 100644 index 00000000000..e81d146e678 --- /dev/null +++ b/docs/about/additional_info.adoc @@ -0,0 +1,20 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += Learn More About Helidon + diff --git a/docs/about/benefits.adoc b/docs/about/benefits.adoc new file mode 100644 index 00000000000..fc6f01488a4 --- /dev/null +++ b/docs/about/benefits.adoc @@ -0,0 +1,19 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += Features and Benefits of Helidon \ No newline at end of file diff --git a/docs/about/doc_overview.adoc b/docs/about/doc_overview.adoc new file mode 100644 index 00000000000..5ce044d23fc --- /dev/null +++ b/docs/about/doc_overview.adoc @@ -0,0 +1,143 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2018, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += Documentation Overview +:description: Helidon +:keywords: helidon, java, microservices, microprofile +:rootdir: {docdir}/.. + +include::{rootdir}/includes/attributes.adoc[] + +This is test to see if this displays. Can we add some text about what's included in the docs? + +[PILLARS] +==== +//Introduction to Helidon +[CARD] +.Introduction to Helidon +[icon=lightbulb] +-- +New to Helidon? Start here to learn how Helidon's open-source set of Java libraries can help you write cloud-native Java microservices. + +xref:{rootdir}/about/introduction.adoc[What is Helidon?] + +xref:{rootdir}/about/benefits.adoc[Features and Benefits] + +xref:{rootdir}/about/archetype.adoc[Helidon Archetypes] + +xref:{rootdir}/about/additional_info.adoc[Reference and Community Resources] + +xref:{rootdir}/about/intro.adoc[What's New in Helidon 4] + + +-- +//Getting Started +[CARD] +.Getting Started +[icon=settings] +-- +There are several ways to generate your first Helidon project. In a hurry? The Helidon CLI and Project Starter provide a set of predefined archetypes to choose from. Or try the Quickstart guides for the standard Helidon Maven archetypes. + +xref:{rootdir}/about/prerequisites.adoc[Prerequisites and System Requirements] + +xref:{rootdir}/about/cli.adoc[Using the Helidon CLI] + +xref:{rootdir}/about/generating_project.adoc[Using Project Starter] + +xref:{rootdir}/mp/guides/quickstart.adoc[Using the MP Quickstart Guide] + +xref:{rootdir}/se/guides/quickstart.adoc[Using the SE Quick Start Guide] + + +-- + +//Migration Guides +[CARD] +.Upgrading Helidon +[icon=storage] +-- +Use the migration guides to help you upgrade your existing Helidon applications to the latest version of Helidon. + +xref:{rootdir}/mp/guides/migration_3x.adoc[Upgrade From Helidon MP 3.x] + +xref:{rootdir}/mp/guides/migration.adoc[Upgrade From Helidon MP 2.x] + +xref:{rootdir}/se/guides/migration_3x.adoc[Upgrade From Helidon SE 3.x] + +xref:{rootdir}/se/guides/migration.adoc[Upgrade From Helidon SE 2.x] + +-- + + + +//Developing Your First Application +[CARD] +.Developing Your First Application From Scratch +[icon=share] +-- +Use these hands-on development tutorials to learn how to generate a small "Hello World!" greeting service that demonstrates some of Helidon's core features. + +xref:{rootdir}/mp/guides/mp-tutorial.adoc[Helidon MP Tutorial] + +xref:{rootdir}/mp/guides/mp-tutorial.adoc[Helidon SE Tutorial] + +-- + +//How-To Guides +[CARD] +.How-To Guides +[icon=graphic_eq] +-- +Ready for more hands-on learning? Explore the features of Helidon with these quick step-by-step guides. + +Nima Guides + +xref:{rootdir}/se/guides/overview.adoc[SE Guides] + +xref:{rootdir}/mp/guides/overview.adoc[MP Guides] + +-- +//Helidon Nima +[CARD] +.Helidon Nima +[icon=swap_horiz] +-- + +-- + + +//Helidon MP +[CARD] +.Helidon MP +[icon=swap_horiz] +-- + +-- + +//Helidon SE +[CARD] +.Helidon SE +[icon=swap_horiz] +-- + +-- +==== + + + + diff --git a/docs/about/generating_project.adoc b/docs/about/generating_project.adoc new file mode 100644 index 00000000000..b96f478b34f --- /dev/null +++ b/docs/about/generating_project.adoc @@ -0,0 +1,86 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += Helidon Project Starter + + + +https://helidon.io/starter[Helidon Project Starter] allows you to choose from a set of archetypes with pre-defined feature sets and lets you customize it by providing a host of options. + +== Select a Flavor + + +=== Helidon SE + +=== Helidon MP + +=== Nima + + +== Choose an Application Type +Helidon provides the following set of archetypes to bootstrap your application development journey. + +=== QuickStart +This option creates a Helidon project that includes multiple REST operations along with default observability setup and a set of dependencies to enable ease of development e.g. in case of Helidon MP, it uses `helidon-microprofile` bundle instead of minimal `helidon-microprofile-core` bundle. + +=== Database +This option builds on `QuickStart` to demonstrate how to integrate with database (in-memory H2, by default). In case of, Helidon SE that uses the DbClient API while for Helidon MP that uses JPA. + +=== Custom +This option enables user to create Helidon project of their choice, suitable to start from scratch i.e. bare minimum, if default values are chosen Or choose from many options available. + +=== OCI (MP Only) +This option builds on `QuickStart` to demonstrate integration with Oracle Cloud Infrastructure (OCI) services using the OCI SDK. Generated project showcases OpenApi-driven development approach where the practice of designing and building APIs is done first, then creating the rest of an application around them is implemented next. This is available for Helidon MP only. + + +== Media Support Options + +=== Jackson JSON + +=== JSON-B +Default. + +=== JSON-P (SE Only) + +== Customize Project + +* groupId +* artifactId +* Project Version +* Java package name + +== Download the Project Files + +Click *Download* and Project Starter generates the files in a directory named after the `artifactId` value. It mainly contains the following: + +* Maven structure + +* skeletal application code + +* associated unit test code + +* example Dockerfile files + +* application configuration file(s) + +* Readme file with instructions to build and run application/test + + + + + diff --git a/docs/about/intro.adoc b/docs/about/intro.adoc new file mode 100644 index 00000000000..4bedae82961 --- /dev/null +++ b/docs/about/intro.adoc @@ -0,0 +1,26 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += Introducing Helidon 4 +:description: Helidon +:keywords: helidon, java, microservices +:rootdir: {docdir}/.. + + +== What's New in This Release + diff --git a/docs/about/introduction.adoc b/docs/about/introduction.adoc index 44255dcedd0..0fab74af258 100644 --- a/docs/about/introduction.adoc +++ b/docs/about/introduction.adoc @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2018, 2022 Oracle and/or its affiliates. + Copyright (c) 2018, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -16,14 +16,14 @@ /////////////////////////////////////////////////////////////////////////////// -= Introduction += Introducing Helidon :description: Helidon :keywords: helidon, java, microservices, microprofile :rootdir: {docdir}/.. include::{rootdir}/includes/attributes.adoc[] -== Contents +== What is Helidon? * <> * <> diff --git a/docs/config/config_reference.adoc b/docs/config/config_reference.adoc index ef2b0c144b7..ec42a0dfc42 100644 --- a/docs/config/config_reference.adoc +++ b/docs/config/config_reference.adoc @@ -64,6 +64,7 @@ The following section lists all configurable types in Helidon. - xref:{rootdir}/config/io_helidon_security_providers_oidc_common_OidcConfig.adoc[OidcConfig (security.providers.oidc.common)] - xref:{rootdir}/config/io_helidon_security_providers_oidc_OidcProvider.adoc[OidcProvider (security.providers.oidc)] - xref:{rootdir}/config/io_helidon_openapi_OpenAPISupport.adoc[OpenAPISupport (openapi)] +- xref:{rootdir}/config/io_helidon_openapi_OpenApiUi.adoc[OpenApiUi (openapi)] - xref:{rootdir}/config/io_helidon_security_providers_common_OutboundConfig.adoc[OutboundConfig (security.providers.common)] - xref:{rootdir}/config/io_helidon_security_providers_common_OutboundTarget.adoc[OutboundTarget (security.providers.common)] - xref:{rootdir}/config/io_helidon_common_pki_KeyConfig_PemBuilder.adoc[PemBuilder (common.pki.KeyConfig)] diff --git a/docs/config/io_helidon_openapi_OpenAPISupport.adoc b/docs/config/io_helidon_openapi_OpenAPISupport.adoc index 0049886ba6a..9f45f4559b4 100644 --- a/docs/config/io_helidon_openapi_OpenAPISupport.adoc +++ b/docs/config/io_helidon_openapi_OpenAPISupport.adoc @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2022 Oracle and/or its affiliates. + Copyright (c) 2022, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -46,6 +46,7 @@ Type: link:{javadoc-base-url}/io.helidon.openapi/io/helidon/openapi/OpenAPISuppo |`cors` |xref:{rootdir}/config/io_helidon_reactive_webserver_cors_CrossOriginConfig.adoc[CrossOriginConfig] |{nbsp} |Assigns the CORS settings for the OpenAPI endpoint. |`static-file` |string |`META-INF/openapi.*` |Sets the file system path of the static OpenAPI document file. Default types are `json`, `yaml`, and `yml`. +//|`ui` |xref:{rootdir}/config/io_helidon_openapi_OpenApiUi.adoc[OpenApiUi] |{nbsp} |Assigns the OpenAPI UI builder the `OpenAPISupport` service should use in preparing the U/I. |`web-context` |string |`/openapi` |Sets the web context path for the OpenAPI endpoint. |=== diff --git a/docs/config/io_helidon_openapi_OpenApiUi.adoc b/docs/config/io_helidon_openapi_OpenApiUi.adoc new file mode 100644 index 00000000000..e1319dbefaa --- /dev/null +++ b/docs/config/io_helidon_openapi_OpenApiUi.adoc @@ -0,0 +1,57 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2022, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + +ifndef::rootdir[:rootdir: {docdir}/..] +:description: Configuration of io.helidon.openapi.OpenApiUi +:keywords: helidon, config, io.helidon.openapi.OpenApiUi +:basic-table-intro: The table below lists the configuration keys that configure io.helidon.openapi.OpenApiUi +include::{rootdir}/includes/attributes.adoc[] + += OpenApiUi (openapi) Configuration + +// tag::config[] + + +Type: link:{javadoc-base-url}/io.helidon.openapi/io/helidon/openapi/OpenApiUi.html[io.helidon.openapi.OpenApiUi] + + +[source,text] +.Config key +---- +ui +---- + + + +== Configuration options + + + +.Optional configuration options +[cols="3,3a,2,5a"] + +|=== +|key |type |default value |description + +|`enabled` |boolean |`true` |Sets whether the UI should be enabled. +|`options` |Map<string, string> |{nbsp} |Sets implementation-specific UI options. +|`web-context` |string |{nbsp} |web context (path) where the UI will respond + +|=== + +// end::config[] \ No newline at end of file diff --git a/docs/config/io_helidon_openapi_SEOpenAPISupport.adoc b/docs/config/io_helidon_openapi_SEOpenAPISupport.adoc index 30bd63dbb87..5e6a2eeff7e 100644 --- a/docs/config/io_helidon_openapi_SEOpenAPISupport.adoc +++ b/docs/config/io_helidon_openapi_SEOpenAPISupport.adoc @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2022 Oracle and/or its affiliates. + Copyright (c) 2022, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -58,6 +58,7 @@ openapi |`servers.operation.*` |string[] |{nbsp} |Sets alternative servers to service the indicated operation (represented here by '*'). Repeat for multiple operations. |`servers.path.*` |string[] |{nbsp} |Sets alternative servers to service all operations at the indicated path (represented here by '*'). Repeat for multiple paths. |`static-file` |string |`META-INF/openapi.*` |Sets the file system path of the static OpenAPI document file. Default types are `json`, `yaml`, and `yml`. +|`ui` |xref:{rootdir}/config/io_helidon_openapi_OpenApiUi.adoc[OpenApiUi] |{nbsp} |Assigns the OpenAPI U/I builder the `OpenAPISupport` service should use in preparing the U/I. |`web-context` |string |`/openapi` |Sets the web context path for the OpenAPI endpoint. |=== diff --git a/docs/images/openapi-ui-screen-capture-greeting-mp-expanded.png b/docs/images/openapi-ui-screen-capture-greeting-mp-expanded.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a310594c0d67b767436e997bb3512fc7c7f550 GIT binary patch literal 125478 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�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 literal 0 HcmV?d00001 diff --git a/docs/images/openapi-ui-screen-capture-greeting-mp-start.png b/docs/images/openapi-ui-screen-capture-greeting-mp-start.png new file mode 100644 index 0000000000000000000000000000000000000000..707e59bd771c4806d4547eb87af36923478cd5ff GIT binary patch literal 60025 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 Pdg$lw>giIoF8J8LSu&Ej literal 0 HcmV?d00001 diff --git a/docs/images/openapi-ui-screen-capture-greeting-se-expanded.png b/docs/images/openapi-ui-screen-capture-greeting-se-expanded.png new file mode 100644 index 0000000000000000000000000000000000000000..372ca09df3070b036ad0ef87932fe7c88f69aa3d GIT binary patch literal 115513 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 Zo8kn!mMCq{vEd!?`OebzOojOc(jR9n;V=LI literal 0 HcmV?d00001 diff --git a/docs/images/openapi-ui-screen-capture-greeting-se-start.png b/docs/images/openapi-ui-screen-capture-greeting-se-start.png new file mode 100644 index 0000000000000000000000000000000000000000..29f47a63b95d790899fdf87165ab033922a0292c GIT binary patch literal 89280 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

T{7kY^rH&P`u)>O-XggoPT`CiOn*hAU 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 o>#!U%)OqfB*mh literal 0 HcmV?d00001 diff --git a/docs/includes/attributes.adoc b/docs/includes/attributes.adoc index 6257ce1d9d4..f69a03ef1c1 100644 --- a/docs/includes/attributes.adoc +++ b/docs/includes/attributes.adoc @@ -77,6 +77,7 @@ endif::[] :version-plugin-jib: 0.10.1 :version-plugin-jandex: 1.0.6 :version-lib-micrometer: 1.6.6 +:version-lib-smallrye-open-api: 2.1.16 :jdk-version: 17 @@ -205,6 +206,7 @@ endif::[] :mp-tyrus-javadoc-base-url: {javadoc-base-url}/io.helidon.microprofile.tyrus :mp-restclient-javadoc-base-url: {javadoc-base-url}/io.helidon.microprofile.restclient :openapi-javadoc-base-url: {javadoc-base-url}/io.helidon.openapi +:openapi-ui-javadoc-base-url: {javadoc-base-url}/io.helidon.integrations.openapi.ui :reactive-base-url: {javadoc-base-url}/io.helidon.common.reactive :scheduling-javadoc-base-url: {javadoc-base-url}/io.helidon.microprofile.scheduling :security-integration-jersey-base-url: {javadoc-base-url}/io.helidon.security.integration.jersey @@ -263,4 +265,16 @@ endif::[] :micrometer-javadoc-base-url: https://javadoc.io/doc/io.micrometer :micrometer-javadoc-registry-prometheus-base-url: {micrometer-javadoc-base-url}/micrometer-registry-prometheus/{version-lib-micrometer}/io/micrometer/prometheus +// OpenAPI generator +:openapi-generator-version: 6.2.1 +:openapi-generator-tool-base-url: https://github.com/OpenAPITools/openapi-generator +:openapi-generator-site-version: v{openapi-generator-version} + +:openapi-generator-tool-docs-url: {openapi-generator-tool-base-url}/blob/{openapi-generator-site-version}/docs +:openapi-generator-tool-generators-docs-url: {openapi-generator-tool-docs-url}/generators +:openapi-generator-tool-site-url: https://openapi-generator.tech + +// OpenAPI UI +:smallrye-openapi-ui-base-url: https://github.com/smallrye/smallrye-open-api/tree/{version-lib-smallrye-open-api}/ui/open-api-ui + endif::attributes-included[] diff --git a/docs/includes/cors.adoc b/docs/includes/cors.adoc index cacb02bad70..024a0f1c187 100644 --- a/docs/includes/cors.adoc +++ b/docs/includes/cors.adoc @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2020, 2022 Oracle and/or its affiliates. + Copyright (c) 2020, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -251,7 +251,6 @@ matches an incoming request's path pattern and HTTP method. // tag::understanding-cors-support-in-services[] === Using CORS Support in Built-in Helidon Services -include::{rootdir}/includes/pages.adoc[] Several built-in Helidon services--xref:{health-page}[health], xref:{metrics-page}[metrics], and xref:{openapi-page}[OpenAPI]--have integrated CORS support. @@ -285,7 +284,6 @@ to your own endpoints. // tag::builtin-getting-started[] ==== Built-in Services with CORS -include::{rootdir}/includes/pages.adoc[] To use built-in services with CORS support and customize the CORS behavior: diff --git a/docs/includes/mp.adoc b/docs/includes/mp.adoc index 125b2d91668..7755902b10d 100644 --- a/docs/includes/mp.adoc +++ b/docs/includes/mp.adoc @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2022 Oracle and/or its affiliates. + Copyright (c) 2022, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -28,4 +28,6 @@ include::{rootdir}/includes/attributes.adoc[] :flavor-lc: mp :mp-flavor: true +include::{rootdir}/includes/pages.adoc[] + endif::flavor-included[] diff --git a/docs/includes/nima.adoc b/docs/includes/nima.adoc new file mode 100644 index 00000000000..36441490d4b --- /dev/null +++ b/docs/includes/nima.adoc @@ -0,0 +1,31 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + +ifndef::flavor-included[] + +:flavor-included: true + +ifndef::rootdir[:rootdir: {docdir}/..] +include::{rootdir}/includes/attributes.adoc[] + +:h1-prefix: Níma +:flavor-uc: Níma +:flavor-lc: nima + + +endif::flavor-included[] diff --git a/docs/includes/openapi/openapi-generator.adoc b/docs/includes/openapi/openapi-generator.adoc new file mode 100644 index 00000000000..029166081aa --- /dev/null +++ b/docs/includes/openapi/openapi-generator.adoc @@ -0,0 +1,540 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// +// tag::preamble[] +:description: Helidon {flavor-uc} OpenAPI Generator +:keywords: helidon, {flavor-lc}, openapi, generator +:feature-name: Helidon {flavor-uc} OpenAPI Generator +// DO NOT CHANGE THE FOLLOWING - it's used as a minimum release that will not normally change with new releases of the OpenAPI generator +:first-version-with-strong-helidon-support: 6.2.1 +// Update the following when it is convenient to keep pace with the latest releases of the OpenAPITools generator +// end::preamble[] + +// tag::intro[] +== Contents + +- <> +- <> +- <> +- <> +- <> + +== Overview +The link:{openapi-spec-url}[OpenAPI specification] provides a standard way to express RESTful APIs. + +Separately, the link:{openapi-generator-tool-site-url}[OpenAPI generator] project has created a powerful code generator tool which accepts an OpenAPI document and generates client and server code for many languages and frameworks. The Helidon team contributes to this tool to ensure that it provides strong support for Helidon {flavor-uc} clients and servers. +As a result, you can use the generator to create code that fits smoothly into your Helidon applications. +The OpenAPI generator release {first-version-with-strong-helidon-support} gained particularly strong support for Helidon. +This document applies to that release and later ones. + +In the vocabulary of the tool, there are two _generators_ for Helidon: + +* `java-helidon-client` (hereafter the Helidon client generator) +* `java-helidon-server` (hereafter the Helidon server generator). + +Each of these generators supports two _libraries_: + +* `mp` - for Helidon MP code generation +* `se` - for Helidon SE code generation + +Use the Helidon _client_ generator and its `{flavor-lc}` library to create a +ifdef::mp-flavor[] +xref:{helidon-client-xref}[Helidon MicroProfile REST client]. +endif::mp-flavor[] +ifdef::se-flavor[] +Helidon SE client based on xref:{helidon-client-xref}[Helidon WebClients]. +endif::se-flavor[] +The resulting client library works with any server that implements the API declared in the OpenAPI document you specified when you ran the generator. +The client library provides an abstraction similar to remote procedure calls (RPC). +To access a remote service that implements the endpoints declared in the OpenAPI document, your code uses the generated client library first to establish a connection to the remote service and then to call remote service endpoints by invoking local methods passing POJO business objects or Java types as arguments. + +Use the tool's Helidon _server_ generator and its `{flavor-lc}` library to create server endpoint stubs for a Helidon {flavor-uc} service. You build on these stubs by extending a generated class or implementing a generated interface, adding your specific business logic to finish the implementation of the endpoints. The combination of the generated server code plus Helidon {flavor-uc} underneath it allows you to focus on the business details instead of resource boilerplate. + +You can run the OpenAPI generators in three ways: + +// tag::three-ways-to-run[] +* using the OpenAPI generator CLI +* using the OpenAPI generator Maven plug-in +* using the online OpenAPI generator website +// end::three-ways-to-run[] + +The rest of this document walks you through <> each technique and how to <> the generators to produce the code you want. + +// end::intro[] + +// tag::coords[] + +== Maven Coordinates +Your project does not need any dependencies on the OpenAPI generator. + +To use the OpenAPI generator plug-in to generate or regenerate files during your project build, add the following to your project's `pom.xml` file to declare the plug-in. Choose whichever version of the generator plug-in meets your needs as long as it is at least {first-version-with-strong-helidon-support}. + +[source,xml,subs="+attributes,+macros"] +.Declaring the OpenAPI Generator Plug-in +---- + + {openapi-generator-version} + +... + + ... + + ... + + org.openapitools + openapi-generator-maven-plugin + ++${openapi-generator-version}++ + + ... + + ... + +---- + +A <> describes how to invoke the plug-in during your build. +// end::coords[] + +// tag::config[] + +== Configuration + +The OpenAPI generators support a substantial, powerful, and sometimes bewildering group of configuration settings. +For complete lists see these pages: + +[[links-to-settings]] + +* link:{openapi-generator-tool-docs-url}/usage.md#generate[generic options] +* link:{openapi-generator-tool-generators-docs-url}/java-helidon-client.md[Helidon client generator options] and +* link:{openapi-generator-tool-generators-docs-url}/java-helidon-server.md[Helidon server generator options] + +The OpenAPI generator divides its settings into two types: + +* _options_ ++ +These high-level settings generally govern the overall behavior of the tool. ++ +For the CLI, use the common option style: ++ +`-i petstore.yaml` ++ +`--input-spec petstore.yaml` ++ +For the Maven plug-in, use elements within the `` section of the plug-in: ++ +[source,xml] +---- + + petstore.yaml + +---- +* _additional properties_ ++ +These settings typically affect how a specific generator or library generates the code. ++ +For the CLI: ++ +`--additional-properties "useAbstractClasses=false,returnResponse=true"` ++ +or ++ +[source,bash] +---- +-p useAbstractClasses=false +-p returnResponse=true +---- ++ +For the Maven plug-in, use elements within the `` section: ++ +[source,xml] +---- + + .... + + false + true + + +---- + +Keep this distinction between options and additional properties in mind so you know how to express the configuration you want. +The <> to the lists of configuration options for the Helidon generators groups options and additional properties in separate tables. + +The next few sections describe, in turn, required settings, settings we recommend, and other common settings most developers will want to use. + +=== Required Settings + +You must specify the following options: + +.Required OpenAPI Generator Options +[cols="4,1,4,6,5"] +|=== +|Option | Short Option |Plug-in Setting | Description | Values + +|`--inputSpec` +|`-i` +|`` +|Path to the OpenAPI document defining the REST API +| + +|`--generatorName` +|`-g` +|`` +| Generator you want to use (`java-helidon-server` or `java-helidon-client`) +| `java-helidon-server` + +`java-helidon-client` + +|`--library` + +`` +| {nbsp} +|Library you want to use +|`mp` + +`se` +|=== + +=== Recommended Settings for the OpenAPI Generator +Your project might have different needs, but in general we advise developers to use the following settings when using the OpenAPI generator. + + +.Recommended OpenAPI Generator Additional Properties +[cols="3,6,5"] +|=== +| Property | Description | Default + +| `apiPackage` +| Name of the package for generated API interfaces/classes +| `org.openapitools.server.api` or + +`org.openapitools.client.api` + +| `modelPackage` +| Name of the package for generated model (POJO) classes +| `org.openapitools.server.model` or + +`org.openapitools.client.model` + +| `invokerPackage` +| Name of the package for generated driver classes +| `org.openapitools.server` or + +`org.openapitools.client` + +| `groupId` +| Group ID in the generated `pom.xml` +| `org.openapitools` + +| `artifactId` +| Artifact ID in the generated `pom.xml` +| `openapi-java-server` or + +`openapi-java-client` + +| `artifactVersion` +| Artifact version in the generated `pom.xml` +| `1.0.0` +|=== + +[NOTE] +The next table contains recommendations only for using the OpenAPI generator plug-in (not for using the CLI). + + +.Recommended OpenAPI Generator Plug-in Options +[cols="4,8,5"] +|=== +|Plug-in Option | Description |Default + +|`` +| Directory where the generator should place files. + ++ +We strongly recommend `target/generated-sources` or a subdirectory below there. +| `.` + +(current directory) + +| `` +| Whether Maven should include the output directory as a source root (that is, include it automatically in the build). + ++ +We advise `true`. +| `false` +|=== + + +=== Common Settings +Among the many configuration settings available to you, some you should particularly consider are summarized in the table below. Refer to the <> for complete lists. + +.Common OpenAPI Generator Additional Properties +[cols="4,5,3,3,7"] +|=== +|Property |Description |Values |Default |Notes + +| `helidonVersion` + +|Version of Helidon for which to generate the files +| {nbsp} +|`2.5.2` +a|Affects: + +* Helidon version for the `` +* Dependencies (`javax` vs. `jakarta`) +* `java import` statements in generated code (`javax` vs. `jakarta`) + +|`fullProject` +|Whether to generate all the normal files or only API files +|`true`/`false` +|`false` +| The "API files" include files developers do not normally modify after they are generated: the interfaces or classes for the declared API +and the model classes. + +|`serializationLibrary` +|which Java library to use for serializing JSON +|`jsonb`, `jackson` +|`jackson` +| +|=== + + +// end::config[] + +// tag::usage[] + +[[usage-section]] +== Usage + +This section covers two major topics: + +* <> +* <> + +[[usage-planning]] +=== Planning Your Use of the OpenAPI Generators + +Beyond the settings listed above, there are several important choices you need to make when planning your project and when running the OpenAPI generators. This section addresses those choices. + +==== Generating a New Project and Generating _Into_ an Existing Project + +You can use the OpenAPI generator to create a new project or to generate files into an existing project. +Some developers do both, using the generator to create the project at first and then to update the project as they evolve the OpenAPI document or change the generation options they select. +Others create the project in some other way--for example, using the xref:{cli-page}[Helidon CLI]. The OpenAPI generator CLI and plug-in both support each type of usage. + +If the OpenAPI generator finds a pre-existing API or model file, it overwrites it with the latest content. +It does _not_ overwrite a `pom.xml` file or test files. +This is important because certain generation settings can influence the generated dependencies in the `pom.xml` file. +For example, the `serializationLibrary` setting creates dependencies on either JSON-B or Jackson artifacts. +As a result, changing the generation options can change the dependencies your project should have. If you rerun the generator, the old `pom.xml` remains and does not reflect the revised depencencies. + +As a practical matter, many developers use the OpenAPI generators in one of the following ways: + +* Use the generator CLI once to create a new project. ++ +By default, the generator CLI creates files in the normal Maven project structure: `src/main/java`, etc. +Then you add your own files to that same project structure. +Because the generated files are in the standard places, the project build includes them by default. ++ +[NOTE] +==== +You _can_ run the generator CLI again to update the generated files. +Because this happens outside the project's build lifecycle, you need to remember to rerun the CLI yourself when you change the OpenAPI document. + +You also need to identify and manually remove any previously-generated files that become obsolete. +Similarly, you must understand how changes in the OpenAPI document or the generation options affect the project dependencies and update the project `pom.xml` accordingly. +==== +* Use the generator plug-in to (re)generate files during each build. ++ +Specify in the plug-in configuration that the generated files should reside in `target/generated-sources` directory (the conventional location for generated sources) or a subdirectory below there. +Each project build runs the OpenAPI generator which reads the then-current OpenAPI document file. +With the generated files under `target`, you can use `mvn clean` to remove any obsolete generated files left over from previous builds. ++ +[NOTE] +==== +In particular, with `mvn clean` each build regenerates the candidate `pom.xml` under `target/generated-sources`. You can inspect the generated `pom.xml` file for changes in dependencies and make any necessary changes in the actual project `pom.xml` file. +==== + +==== Generating Interfaces or Classes +As you generate a Helidon {flavor-uc} _server_, you can choose whether you want Java interfaces or classes to represent the RESTful API endpoints. + +By default, the Helidon OpenAPI server generator creates classes. +You write your own concrete subclasses which extend those generated classes, supplying the business logic for each REST endpoint. +_Do not_ modify the generated classes. + +If you set `useAbstractClasses=false` then the generator creates Java interfaces instead of classes. +You then write classes which implement those generated interfaces. + +Either way, you can safely regenerate the code later so long as you have not edited the generated code. +The generator replaces the generated classes or interfaces but does not touch other classes you wrote. + +The Helidon _client_ generator always creates concrete classes. Typically, you do not need to customize the behavior in the generated client API classes. If you choose to do so, write your own subclass of the generated client API class; _do not_ modify the generated files. + +==== Grouping Operations into "APIs" +Each operation in an OpenAPI document can have a `tags` attribute. +The generators group operations with the same `tags` value into the same API. + +When you generate a Helidon {flavor-uc} server, the generator creates a separate interface or class for each API your service _exposes_. +You implement each interface or extend each class to add your business logic for that API. + +When you generate a Helidon {flavor-uc} client, the generated code contains a separate API class for each distinct API your code might _invoke_. + +[[usage-running]] +=== Running the OpenAPI Generators + +Earlier we listed the ways you can run the OpenAPI generator: + +include::openapi-generator.adoc[tag=three-ways-to-run] + +The next sections describe each of these techniques in detail. + +==== Using the OpenAPI Generator CLI + +[NOTE] +.Downloading the OpenAPI Generator CLI +You need to download the CLI `.jar` file before you can run the CLI. +Follow these link:https://github.com/OpenAPITools/openapi-generator#13---download-jar[instructions] and remember where you save the `.jar` file. +The examples below use the placeholder `path-to-generator` to represent the directory where you store that downloaded file. + +The following example uses the Helidon server generator to create a project or regenerate files into an existing project. + +:example-project-type: server +.Creating or updating a server project using the OpenAPI generator CLI +// tag::example-cli-usage[] +[source,bash,subs="attributes+"] +---- +java -jar $\{path-to-generator}/openapi-generator-cli.jar \ + generate \ + -i src/main/resources/petstore.yaml \ + -g java-helidon-{example-project-type} \ + --library {flavor-lc} \ + -p groupId=io.helidon.examples \ + -p artifactId=helidon-openapigen-{flavor-lc}-{example-project-type} \ + -p artifactVersion=1.0.0-SNAPSHOT \ + -p apiPackage=io.helidon.examples.openapigen.{flavor-lc}.{example-project-type}.api \ + -p modelPackage=io.helidon.examples.openapigen.{flavor-lc}.{example-project-type}.model \ + -p invokerPackage=io.helidon.examples.openapigen.{flavor-lc}.{example-project-type} +---- +// end::example-cli-usage[] + +The next example runs the Helidon client generator using the same input file. + +:example-project-type: client +.Creating or updating a client project using the OpenAPI generator CLI +include::openapi-generator.adoc[tag=example-cli-usage] + +The key differences between the commands are: + +* the generator selected by the `-g` option (`client` vs. `server`), +* the artifact ID and package names (`client` vs. `server`). + +You could use these two commands together to generate a server submodule and a client submodule in a pre-existing multi-module Maven project. Remember that the resulting client project can access any server which implements the API described in the `petstore.yaml` OpenAPI document, whether it was generated using the OpenAPI generator tool or not. + +In both examples, the generator creates the entire project if it does not exist and recreates the generated API and model files if the project already exists. +The generator does not overwrite an existing `pom.xml` file, previously-generated test files, or files you create yourself. + +[[invoking-the-plugin]] +==== Invoking the OpenAPI Generator Maven Plug-in + +You can run the OpenAPI generator plug-in as part of your project build to generate or regenerate files. + +First, declare the plug-in as explained in the <>. + +Then, in the `` section of your `pom.xml` file, add an execution of the plug-in with the configuration you want. By default, the plug-in runs during the `generate-sources` phase of the Maven build. + + +The plug-in execution in the following example is equivalent to the CLI example above for generating server files: + +[source,xml,subs="+attributes,+macros"] +.Creating or updating a {example-project-type} project using the OpenAPI Maven plug-in +---- + + org.openapitools + openapi-generator-maven-plugin + + + + generate + + + ++${project.basedir}++/src/main/resources/petstore.yaml + java-helidon-{example-project-type} + {flavor-lc} + ++${project.build.directory}++/generated-sources/{example-project-type} + true + + io.helidon.examples + helidon-openapigen-{flavor-lc}-{example-project-type} + 1.0.0-SNAPSHOT + io.helidon.examples.openapigen.{flavor-lc}.{example-project-type}.api + io.helidon.examples.openapigen.{flavor-lc}.{example-project-type}.model + io.helidon.examples.openapigen.{flavor-lc}.{example-project-type} + + + + + +---- +<1> Specifies that the generated files should reside in the `target/generated-sources/{example-project-type}` directory. + +==== Using the Online Generator + +The OpenAPI tools project hosts and maintains the online OpenAPI generator at http://api.openapi-generator.tech. You can use the site's API browser to explore the available generators and the settings each supports, expressed as JSON. + +To generate your project, you supply the options and additional properties as JSON. The online generator provides you with a file ID, and you refer to the file ID in a subsequent HTTP request to retrieve your project. + +[NOTE] +The online generator stores your project on the server which you then retrieve using a separate HTTP request. +Before you use the online generator, consider whether any of the input you provide--the OpenAPI document, package or Maven coordinates--and therefore the generated project will reveal any sensitive information. + +This document does not explore further the use of the online generator. + +// end::usage[] + + +// tag::using-generated-code-intro[] +[[using-generated-code]] +== Using the Generated Code + +The Helidon generators go a long way in helping you write your client or server. Even so, there are important parts of your project only you can provide. This section describes your next steps _after_ you have run the generator. +// end::using-generated-code-intro[] + +// tag::using-generated-code-server[] +// tag::using-generated-code-server-intro[] + +=== Completing the Server +Recall from earlier how the OpenAPI generator gathers operations into one or more "APIs" and generates either a class or an interface--your choice--for each API. +You need to extend each generated API class or implement each generated API interface by writing your own classes. +Any input parameters to the endpoints are expressed as POJO model objects or Java types, as declared in the OpenAPI document. Your server code uses each of the input parameters to accomplish whatever business purpose that endpoint is responsible for, possibly returning a result as a POJO or Java type as indicated for that operation in the OpenAPI document. +// end::using-generated-code-server-intro[] + +In some cases, you might need more control over the response sent to the client. In that case, specify the additional property `returnResponse=true` when you run the Helidon server generator. The return type for the generated methods is +ifdef::mp-flavor[] +the Jakarta RESTful web services `Response` +endif::mp-flavor[] +ifdef::se-flavor[] +the Helidon SE `ServerResponse` +endif::se-flavor[] +and your code has complete control--and therefore responsibility--over setting the status, writing the response entity (if any), and assigning any returned headers. + +Your code plus the server code from the Helidon generator--all running on Helidon {flavor-uc}--combine to fully implement the server API declared in the original OpenAPI document. Build your project to get a tailored Helidon {flavor-uc} server `.jar` file or Docker image and your server is ready to run. + +// end::using-generated-code-server[] + +// tag::using-generated-code-client-intro[] +=== Using the Client Library + +The generated client code represents a true library. Typically, you do not need to customize the generated client code itself. You _do_ need to write code to invoke the code in that library. + +// using the SE and MP clients are so different there's not much common content. + +// end::using-generated-code-client-intro[] + +// tag::common-references[] +== References +* link:{openapi-generator-tool-site-url}[OpenAPI Generator Official Website] +* link:{openapi-generator-tool-base-url}[OpenAPI Generator GitHub Repository] +* link:{openapi-spec-url}[OpenAPI specification] +// end::common-references[] \ No newline at end of file diff --git a/docs/includes/openapi/openapi-ui.adoc b/docs/includes/openapi/openapi-ui.adoc new file mode 100644 index 00000000000..45e3ee8a705 --- /dev/null +++ b/docs/includes/openapi/openapi-ui.adoc @@ -0,0 +1,200 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2022, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + +ifndef::rootdir[:rootdir: {docdir}/../..] +// Following make editing the included file a little easier +:flavor-lc: se +:flavor-uc: SE +:se-flavor: + +// tag::preamble[] +:feature-name: Helidon OpenAPI UI support +:screen-capture-start: openapi-ui-screen-capture-greeting-{flavor-lc}-start.png +:screen-capture-expanded: openapi-ui-screen-capture-greeting-{flavor-lc}-expanded.png +// end::preamble[] + +// tag::intro[] + +== Contents + +- <> +- <> +- <> +- <> +- <> +- <> + +// end::intro[] + +// tag::overview[] +== Overview + +SmallRye offers an link:{smallrye-openapi-ui-base-url}[OpenAPI user interface component] which displays a web page based on your application's OpenAPI document. +Through that UI, users can invoke the operations declared in the document. +While not generally suitable for end-users, the OpenAPI UI can be useful for demonstrating and "test driving" your service's endpoints. + +The Helidon OpenAPI component allows you to integrate the SmallRye UI into your application, adding the UI web page to your application very simply. + + +// end::overview[] + +// tag::dependencies[] +include::{rootdir}/includes/dependencies.adoc[] + +[source,xml,subs=+macros] +---- + + io.helidon.integrations.openapi-ui + helidon-integrations-openapi-ui +ifdef::mp-flavor[ runtime] + +---- + +// end::dependencies[] + +// tag::usage[] +// tag::usage-start[] +== Usage +ifdef::se-flavor[] +Make sure your application creates a Helidon `OpenAPISupport` instance and registers it for routing (described in detail in link:{openapi-page}[the Helidon OpenAPI documentation]). `OpenAPISupport` automatically prepares the OpenAPI UI with default settings if you also declare a dependency on the Helidon OpenAPI UI integration component as explained above. The <> section below illustrates adding OpenAPI to your application and customizing the UI behavior. +endif::se-flavor[] + +After you modify, build, and start your Helidon {flavor-uc} service, you can access the OpenAPI UI by default at `http://your-host:your-port/openapi/ui`. +Helidon also uses conventional content negotiation at `http://your-host:your-port/openapi` returning the UI to browsers (or any client that accepts HTML) and the OpenAPI document otherwise. + +You can customize the path using +ifdef::se-flavor[either the API or ] +xref:Configuration[configuration]. + +The example below shows the UI +ifdef::se-flavor[] +if you modify the Helidon SE QuickStart greeting application to contain a static OpenAPI file which describes the service endpoints. +endif::se-flavor[] +ifdef::mp-flavor[] +for the Helidon MP QuickStart greeting application. +endif::mp-flavor[] + +.OpenAPI UI Screen for Helidon {flavor-uc} QuickStart Greeting Application +image::{screen-capture-start}[align="center",title="Example OpenAPI UI Screen"] + +// end::usage-start[] + +// tag::usage-expanded-screen[] +With the OpenAPI UI displayed, follow these steps to access one of your service's operations. + +. Find the operation you want to run and click on its row in the list. +. The UI expands the operation, showing any input parameters and the possible responses. Click the "Try it out" button in the operation's row. +. The UI now allows you to type into the input parameter field(s) to the right of each parameter name. Enter any required parameter values (first highlighted rectangle) and any non-required values you wish, then click "Execute" (highlighted arrow). +. Just below the "Execute" button the UI shows several sections: + +* the equivalent `curl` command for submitting the request with your inputs, +* the URL used for the request, and +* a new "Server response" section (second highlighted rectangle) containing several items from the response: + +** HTTP status code +** body +** headers + +The next image shows the screen after you submit the "Returns a personalized greeting" operation. + +Note that the UI shows the actual response from invoking the operation in the "Server response" section. The "Responses" section farther below describes the possible responses from the operation as declared in the OpenAPI document for the application. + +.Example OpenAPI UI Screen +image::{screen-capture-expanded}[align="center",title="Example OpenAPI UI Screen"] + +// end::usage-expanded-screen[] +// end::usage[] + +// tag::config-intro[] +== Configuration +To use configuration to control how the Helidon OpenAPI UI service behaves, add an `openapi.ui` section to +ifdef::mp-flavor[your `META-INF/microprofile-config.properties` file.] +ifdef::se-flavor[your configuration file, such as `application.yaml`.] + +include::{rootdir}/config/io_helidon_openapi_OpenApiUi.adoc[tag=config,leveloffset=+1] +The default UI `web-context` value is the web context for your `OpenAPISupport` service with the added suffix `/ui`. If you use the default web context for both `OpenAPISupport` and the UI, the UI responds at `/openapi/ui`. + +// end::config-intro[] + +// tag::config-details[] + +You can use configuration to affect the UI path in two ways: + +* Configure the OpenAPI endpoint path (the `/openapi` part). ++ +Recall that you can xref:{openapi-page}#config[configure the Helidon OpenAPI component] to change where it serves the OpenAPI document. ++ +.Configuring the OpenAPI web context +ifdef::se-flavor[] +[source,yaml] +---- +openapi: + web-context: /my-openapi +---- +endif::se-flavor[] +ifdef::mp-flavor[] +[source,properties] +---- +openapi.web-context=/my-openapi +---- +endif::mp-flavor[] ++ +In this case, the path for the UI component is your customized OpenAPI path with `/ui` as a suffix. +With the example above, the UI responds at `/my-openapi/ui` and +Helidon uses standard content negotiation at `/my-openapi` to return either the OpenAPI document or the UI. +* Separately, configure the entire web context path for the UI independently from the web context for OpenAPI. ++ +.Configuring the OpenAPI UI web context +ifdef::se-flavor[] +[source,yaml] +---- +openapi: + ui: + web-context: /my-ui +---- +endif::se-flavor[] +ifdef::mp-flavor[] +[source,properties] +---- +openapi.ui.web-context=/my-ui +---- +endif::mp-flavor[] ++ +[NOTE] +==== +The `openapi.ui.web-context` setting assigns the _entire_ web-context for the UI, not the suffix appended to the `OpenAPISupport` endpoint. +==== +With this configuration, the UI responds at `/my-ui` regardless of the path for OpenAPI itself. + +The SmallRye OpenAPI UI component accepts several options, but they are of minimal use to application developers and they must be passed to the SmallRye UI code programmatically. +Helidon allows you to specify these values using configuration in the `openapi.ui.options` section. Helidon then passes the corresponding options to SmallRye for you. +To configure any of these settings, use the enum values--they are all lower case--declared in the SmallRye link:{smallrye-openapi-ui-base-url}/src/main/java/io/smallrye/openapi/ui/Option.java[`Option.java`] class as the keys in your Helidon configuration. + +[NOTE] +==== +Helidon prepares several of the SmallRye options automatically based on other settings. +Any options you configure override the values Helidon assigns, possibly interfering with the proper operation of the UI. +==== + +// end::config-details[] + +// tag::additional-info[] +== Additional Information + +xref:{openapi-page}[Helidon OpenAPI {flavor-uc} documentation] + +link:{smallrye-openapi-ui-base-url}[SmallRye OpenAPI UI GitHub site] +// end::additional-info[] \ No newline at end of file diff --git a/docs/includes/openapi/openapi.adoc b/docs/includes/openapi/openapi.adoc new file mode 100644 index 00000000000..12a29d9161b --- /dev/null +++ b/docs/includes/openapi/openapi.adoc @@ -0,0 +1,218 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2022, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + +ifndef::rootdir[:rootdir: {docdir}/..] + +// tag::overview[] +The link:{openapi-spec-url}[OpenAPI specification] defines a standard way to express the interface exposed by a REST service. + +The link:{microprofile-open-api-spec-url}[MicroProfile OpenAPI spec] explains how MicroProfile embraces OpenAPI, adding annotations, configuration, and a service provider interface (SPI). + +ifdef::mp-flavor[Helidon {flavor-uc} implements the MicroProfile OpenAPI specification.] +ifdef::se-flavor[OpenAPI support in Helidon {flavor-uc} draws its inspiration from MicroProfile OpenAPI but does not implement the spec because Helidon {flavor-uc} does not support annotations.] + +The OpenAPI support in Helidon {flavor-uc} performs two main tasks: + +* Build an in-memory model of the REST API your service implements. +* Expose the model in text format (typically YAML) via the `/openapi` endpoint. + +To construct the model, Helidon gathers information about the service API from whichever of these sources are present in the application: + +* a _model reader_ ++ +The SPI defines an interface you can implement in your application for programmatically providing part or all of the model; +* a static OpenAPI document file packaged as part of your service; +ifdef::mp-flavor[] +* OpenAPI annotations; +endif::[] +* a _filter_ class ++ +The SPI defines an interface you can implement in your application which can mask parts of the model. + + +// end::overview[] + +// tag::mp-depc[] + + io.helidon.microprofile.openapi + helidon-microprofile-openapi + runtime + +// end::mp-depc[] + +// tag::furnish-openapi-info[] + +==== Furnish OpenAPI information about your endpoints +// It's a bit odd to intermix the SE and MP content in this common file this way. +// But I tried having a level 3 section in the SE file include a sequence of +// level 4 sections from here, and that led to errors with headers being out of sequence. +// With the entire level 3 section here and conditional text for SE and MP, AsciiDoctor is happy. +ifdef::se-flavor[] +OpenAPI support in Helidon SE largely follows the link:{microprofile-open-api-spec-url}[MicroProfile OpenAPI spec]. +But because Helidon SE does not process annotations, your application supplies data for the OpenAPI model in the other ways listed earlier. +endif::[] + +ifdef::mp-flavor[] +Helidon MP OpenAPI combines information from all of the following sources as it +builds its in-memory model of your application's API. It constructs the OpenAPI +document from this internal model. Your application can use one or more of these +techniques. + +===== Annotate the endpoints in your app +You can add MicroProfile OpenAPI annotations to the endpoints in your source code. +These annotations allow the Helidon MP OpenAPI runtime to discover the endpoints +and information about them via CDI at app start-up. + +Here is one of the endpoints, annotated for OpenAPI, from the example mentioned earlier: + +[source,java] +---- +@GET +@Operation(summary = "Returns a generic greeting", // <1> + description = "Greets the user generically") +@APIResponse(description = "Simple JSON containing the greeting", // <2> + content = @Content(mediaType = "application/json", + schema = @Schema(implementation = GreetingMessage.class))) +@Produces(MediaType.APPLICATION_JSON) +public JsonObject getDefaultMessage() {...} +---- +<1> `@Operation` gives information about this endpoint. +<2> `@APIResponse` describes the HTTP response and declares its media type and contents. + +You can also define any request parameters the endpoint expects, although this +endpoint uses none. + +This excerpt shows only a few annotations for illustration. The +link:{helidon-github-tree-url}/examples/microprofile/openapi-basic[Helidon MP OpenAPI example] illustrates more, +and the link:{microprofile-open-api-spec-url}[MicroProfile OpenAPI spec] describes them all. + +===== Provide a static OpenAPI file +Add a static file at `META-INF/openapi.yml`, `META-INF/openapi.yaml`, +or `META-INF/openapi.json`. Tools such as Swagger let you describe your app's API +and they then generate an OpenAPI document file which you can include in your application +so OpenAPI can use it. + +===== Write and configure a model reader class +Write a Java class that implements the OpenAPI +link:{microprofile-open-api-javadoc-url}/OASModelReader.html[`org.eclipse.microprofile.openapi.OASModelReader`] interface. Your +model reader code programmatically adds elements to the internal model that OpenAPI +builds. + +endif::[] + +===== Provide a static OpenAPI file +Add a static file at `META-INF/openapi.yml`, `META-INF/openapi.yaml`, +or `META-INF/openapi.json`. Tools such as Swagger let you describe your app's API +and they then generate an OpenAPI document file which you can include in your application +so OpenAPI can use it. + +===== Write and configure a model reader class +Write a Java class that implements the OpenAPI +link:{microprofile-open-api-javadoc-url}/OASModelReader.html[`org.eclipse.microprofile.openapi.OASModelReader`] interface. Your +model reader code programmatically adds elements to the internal model that OpenAPI +builds. + +Change your application's MP configuration to set `mp.openapi.model.reader` as the +fully-qualified class name of your class. + +===== Write and configure a filter class +Write a Java class that implements the OpenAPI +link:{microprofile-open-api-javadoc-url}/OASFilter.html[`org.eclipse.microprofile.openapi.OASFilter`] interface. +As OpenAPI composes its internal model, it invokes your filter with each +model element _before_ adding the element to the model. Your filter can +accept the element as-is, modify it, or suppress it. + +Change your application's configuration to set `mp.openapi.filter` as the full-qualified +class name of your class. + +// end::furnish-openapi-info[] + +// tag::usage-access-endpoint[] +=== Accessing the REST Endpoint +Once you add the {flavor-uc} OpenAPI dependency to your +ifdef::mp-flavor[project,] +ifdef::se-flavor[project and add code to create the `OpenAPISupport` object to your routing,] +your application automatically responds to the built-in endpoint -- +`/openapi` -- and it returns the OpenAPI document describing the endpoints +in your application. + +By default, per the MicroProfile OpenAPI spec, the default format of the OpenAPI document is YAML. +There is not yet an adopted IANA YAML media type, but a proposed one specifically +for OpenAPI documents that has some support is `application/vnd.oai.openapi`. +That is what Helidon returns, by default. + +In addition, a client can specify the HTTP header `Accept` as either `application/vnd.oai.openapi+json` or +`application/json` to request JSON. Alternatively, the client can pass the query parameter `format` as either `JSON` +or `YAML` to receive `application/json` or `application/vnd.oai.openapi` (YAML) output, respectively. +// end::usage-access-endpoint[] + +// tag::api[] +ifdef::mp-flavor[] +The link:{microprofile-open-api-spec-url}[MicroProfile OpenAPI specification] gives a listing and brief examples of the annotations you can add to your code to convey OpenAPI information. +endif::[] + +The link:{microprofile-open-api-javadoc-base-url}[MicroProfile OpenAPI JavaDocs] give full details of the +ifdef::mp-flavor[annotations and the other] +classes and interfaces you can use in your code. +ifdef::se-flavor[] +Remember that, although the JavaDocs describe annotations, Helidon {flavor-uc} does not support them. +endif::[] + +// end::api[] + + +// tag::additional-building-jandex[] + +=== Building the Jandex index + +A Jandex index stores information about the classes and methods in your app and +what annotations they have. It allows CDI to process annotations faster during your +application's start-up. + +Add the link:https://github.com/wildfly/jandex-maven-plugin[Jandex maven plug-in] to the `` +section of your `pom.xml`: + +[source,xml,subs="attributes+"] +---- + + org.jboss.jandex + jandex-maven-plugin + {jandex-plugin-version} + + + make-index + + jandex + + + + +---- +When you build your app `maven` should include the index `META-INF/jandex.idx` in +the JAR. + +[NOTE] +==== +If you _do not_ modify your build to create +the index then the Helidon MP OpenAPI runtime automatically creates one in memory during +app start-up. This slows down your app start-up and, depending on how CDI is +configured, might inadvertently miss information. + +We _strongly recommend_ using the Jandex plug-in to build the index into your app. +==== +// end::additional-building-jandex[] \ No newline at end of file diff --git a/docs/includes/pages.adoc b/docs/includes/pages.adoc index b31b6acb5b1..fc815ed783b 100644 --- a/docs/includes/pages.adoc +++ b/docs/includes/pages.adoc @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2022 Oracle and/or its affiliates. + Copyright (c) 2022, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,10 +18,13 @@ ifdef::se-flavor[] :health-page: {rootdir}/se/health.adoc :metrics-page: {rootdir}/se/metrics/metrics.adoc -:openapi-page: {rootdir}/se/openapi.adoc +:openapi-page: {rootdir}/se/openapi/openapi.adoc endif::[] ifdef::mp-flavor[] :health-page: {rootdir}/mp/health.adoc :metrics-page: {rootdir}/mp/metrics/metrics.adoc -:openapi-page: {rootdir}/mp/openapi.adoc -endif::[] \ No newline at end of file +:openapi-page: {rootdir}/mp/openapi/openapi.adoc +endif::[] +:webclient-page: {rootdir}/se/webclient.adoc +:restclient-page: {rootdir}/mp/restclient.adoc +:cli-page: {rootdir}/about/cli.adoc \ No newline at end of file diff --git a/docs/includes/se.adoc b/docs/includes/se.adoc index 6d3b6144af7..07fef9b4052 100644 --- a/docs/includes/se.adoc +++ b/docs/includes/se.adoc @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2022 Oracle and/or its affiliates. + Copyright (c) 2022, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -28,4 +28,6 @@ include::{rootdir}/includes/attributes.adoc[] :flavor-lc: se :se-flavor: true +include::{rootdir}/includes/pages.adoc[] + endif::flavor-included[] diff --git a/docs/mp/introduction.adoc b/docs/mp/introduction.adoc index 021e5275e4f..78f801265c1 100644 --- a/docs/mp/introduction.adoc +++ b/docs/mp/introduction.adoc @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2019, 2022 Oracle and/or its affiliates. + Copyright (c) 2019, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -100,7 +100,7 @@ Helidon MP is an Eclipse MicroProfile {version-lib-microprofile-api} runtime tha | link:{microprofile-metrics-spec-url}[{version-lib-microprofile-metrics-api}] | Defining and exposing telemetry data in Prometheus and JSON formats -| xref:{rootdir}/mp/openapi.adoc[MicroProfile Open API] +| xref:{rootdir}/mp/openapi/openapi.adoc[MicroProfile Open API] | link:{microprofile-open-api-spec-url}[{version-lib-microprofile-openapi-api}] | Annotations for documenting your application endpoints diff --git a/docs/mp/openapi/openapi-generator.adoc b/docs/mp/openapi/openapi-generator.adoc new file mode 100644 index 00000000000..373a1a897c3 --- /dev/null +++ b/docs/mp/openapi/openapi-generator.adoc @@ -0,0 +1,68 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2022, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += OpenAPI-based Code Generation + +:description: Helidon MP OpenAPI Generator +:keywords: helidon, mp, microprofile, openapi, generator +:feature-name: MicroProfile OpenAPI Generator +:rootdir: {docdir}/../.. +:incdir: {rootdir}/includes/openapi +:gen-inc: {incdir}/openapi-generator.adoc + +include::{rootdir}/includes/mp.adoc[] +:helidon-client-xref: {restclient-page} + +include::{gen-inc}[tag=preamble] + +include::{gen-inc}[tags=intro;coords;config;usage;using-generated-code-intro;using-generated-code-server;using-generated-code-client-intro] + +The Helidon MP client generator creates a MicroProfile REST client interface for each API. +Each generated API interface is annotated so your code can `@Inject` the API into one of your own beans and then use the interface directly to invoke the remote service. Alternatively, you can also explicitly use the link:{microprofile-rest-client-javadoc-url}/org/eclipse/microprofile/rest/client/RestClientBuilder.html[`RestClientBuilder`] to create an instance programmatically and then invoke its methods to contact the remote service. +The xref:{restclient-page}[Helidon MP REST Client] documentation describes both approaches in more detail. + +In the following example, `ExampleResource` (itself running in a server) invokes a remote Pet service and shows one way to use the generated `PetApi` REST client interface. + + +[source,java] +.Using the generated `PetApi` from a separate service +---- +@Path("/exampleServiceCallingService") // <1> +public class ExampleResource { + + @Inject // <2> + @RestClient // <3> + private PetApi petApi; // <4> + + @GET + @Path("/getPet/{petId}") + public Response getPetUsingId(@PathParam("petId") Long petId) { + Pet pet = petApi.getPetById(petId); // <5> + //... + } +} +---- +<1> Uses a bean-defining annotation so CDI can inject into this class. +<2> Requests that CDI inject the following field. +<3> Identifies to Helidon MP that the following field is a REST client. +<4> Declares the field using the generated `PetApi` type. +<5> Invokes the remote service using the injected field and the parameter from the incoming request. + + +include::{gen-inc}[tag=common-references] +* link:https://github.com/eclipse/microprofile-rest-client[MicroProfile REST Client specification] diff --git a/docs/mp/openapi/openapi-ui.adoc b/docs/mp/openapi/openapi-ui.adoc new file mode 100644 index 00000000000..5c44a836bf7 --- /dev/null +++ b/docs/mp/openapi/openapi-ui.adoc @@ -0,0 +1,54 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2022, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += OpenAPI UI +:description: Helidon MP OpenAPI UI Support +:keywords: helidon, mp, openapi ui +:rootdir: {docdir}/../.. +:openapi-inc: {rootdir}/includes/openapi/openapi.adoc +:ui-inc: {rootdir}/includes/openapi/openapi-ui.adoc + +include::{rootdir}/includes/mp.adoc[] + +:javadoc-path: {openapi-ui-javadoc-base-url}/io/helidon/integrations/openapi/ui +:openapi-javadoc-path: {openapi-javadoc-base-url}/io/helidon/openapi + +include::{ui-inc}[tag=preamble] + +include::{ui-inc}[tags=intro;overview] + +include::{ui-inc}[tag=dependencies] + +Also make sure your project has the following dependency to include OpenAPI support in your Helidon MP application. +[source,xml] +---- +include::{openapi-inc}[tag=mp-depc] +---- + +include::{ui-inc}[tag=usage] + +== API + +Your Helidon MP application does not use any API to enable or control Helidon OpenAPI UI support. +Adding the dependency as described earlier is sufficient, and you can control the UI behavior using <>. + +include::{ui-inc}[tag=config-intro] + +include::{ui-inc}[tag=config-details] + +include::{ui-inc}[tag=additional-info] \ No newline at end of file diff --git a/docs/mp/openapi/openapi.adoc b/docs/mp/openapi/openapi.adoc new file mode 100644 index 00000000000..7d7d0de94fe --- /dev/null +++ b/docs/mp/openapi/openapi.adoc @@ -0,0 +1,267 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2019, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += OpenAPI in Helidon +:description: Helidon MP OpenAPI Support +:keywords: helidon, mp, microprofile, openapi +:feature-name: MicroProfile OpenAPI +:microprofile-bundle: true +:rootdir: {docdir}/../.. +:incdir: {rootdir}/includes/openapi + +include::{rootdir}/includes/mp.adoc[] + +== Contents + +- <> +- <> +- <> +- <> +- <> +- <> +- <> + +== Overview + +include::{incdir}/openapi.adoc[tag=overview] + +include::{rootdir}/includes/dependencies.adoc[] + +[source,xml,subs="attributes+"] +---- +include::{incdir}/openapi.adoc[tag=mp-depc] +---- +If you do not use the `helidon-microprofile-bundle` also add the following dependency which defines the MicroProfile OpenAPI annotations so you can use them in your code: +[source,xml] +---- + + org.eclipse.microprofile.openapi + microprofile-openapi-api + +---- + +== Usage + +=== OpenAPI support in Helidon MP + +You can very simply add support for OpenAPI to your Helidon MP application. This +document shows what changes you need to make to your application and how to access +the OpenAPI document for your application at runtime. + +=== Changing your application + +To use OpenAPI from your Helidon MP app, in addition to adding dependencies as described above: + +1. Furnish OpenAPI information about your application's endpoints. +2. Update your application's configuration (optional). + +include::{incdir}/openapi.adoc[tag=furnish-openapi-info] + +=== Update your application configuration +Beyond the two config properties that denote the model reader and filter, Helidon +MP OpenAPI supports a number of other mandated settings. These are described in the +link:{microprofile-open-api-spec-url}#configuration[configuration section] of the MicroProfile +OpenAPI spec. + +include::{incdir}/openapi.adoc[tag=usage-access-endpoint] + +== API + +include::{incdir}/openapi.adoc[tag=api] + +== Configuration + +Helidon OpenAPI configuration supports the following settings: + +include::{rootdir}/config/io_helidon_microprofile_openapi_MPOpenAPISupport.adoc[leveloffset=+1,tag=config] + +== Examples + +Helidon MP includes a link:{helidon-github-tree-url}/examples/microprofile/openapi-basic[complete OpenAPI example] +based on the MP quick-start sample app. The rest of this section shows, step-by-step, how one might change the original QuickStart service to adopt OpenAPI. + +=== Helidon MP Basic OpenAPI Example + +This example shows a simple greeting application, similar to the one from the +Helidon MP QuickStart, enhanced with OpenAPI support. + +[source,java] +---- +@Path("/greeting") +@PUT +@Operation(summary = "Set the greeting prefix", + description = "Permits the client to set the prefix part of the greeting (\"Hello\")") //<1> +@RequestBody( //<2> + name = "greeting", + description = "Conveys the new greeting prefix to use in building greetings", + content = @Content( + mediaType = "application/json", + schema = @Schema(implementation = GreetingMessage.class), + examples = @ExampleObject( + name = "greeting", + summary = "Example greeting message to update", + value = "New greeting message"))) +@Consumes(MediaType.APPLICATION_JSON) +@Produces(MediaType.APPLICATION_JSON) +public Response updateGreeting(JsonObject jsonObject) { + ... +} +---- +<1> With `@Operation` annotation we document the current method. +<2> With `@RequestBody` annotation we document the content produced. Internal annotations `@Content`, `@Schema` and + `@ExampleObjects` are used to give more details about the returned data. + +If we want to hide a specific path an `OASFilter` is used. + +The OASFilter interface allows application developers to receive callbacks for various key OpenAPI elements. The + interface has a default implementation for every method, which allows application developers to only override the + methods they care about. To use it, simply create an implementation of this interface and register it using the + `mp.openapi.filter configuration` key, where the value is the fully qualified name of the filter class. + +The following example filter prevents information about a given path from appearing in the OpenAPI document. + +[source, java] +---- +import org.eclipse.microprofile.openapi.models.Operation; +import org.eclipse.microprofile.openapi.models.PathItem; + +public class SimpleAPIFilter implements OASFilter { + + @Override + public PathItem filterPathItem(PathItem pathItem) { + for (Map.Entry methodOp + : pathItem.getOperations().entrySet()) { + if (SimpleAPIModelReader.DOOMED_OPERATION_ID + .equals(methodOp.getValue().getOperationId())) { + return null; + } + } + return OASFilter.super.filterPathItem(pathItem); + } +} +---- + +You can implement a model reader to provide all or part of the in-memory `OpenAPI` model programmatically. Helidon + `OpenAPI` merges the model from the model reader with models from the other sources (a static file and annotations). + +The example model reader below creates an `OpenAPI` object describing two paths. It turns out that the filter described +earlier will suppress one of the paths, but the model reader does not know or care. + +[source,java] +---- +import org.eclipse.microprofile.openapi.OASFactory; +import org.eclipse.microprofile.openapi.OASModelReader; +import org.eclipse.microprofile.openapi.models.OpenAPI; +import org.eclipse.microprofile.openapi.models.PathItem; +import org.eclipse.microprofile.openapi.models.Paths; + +/** + * Defines two paths using the OpenAPI model reader mechanism, one that should + * be suppressed by the filter class and one that should appear in the published + * OpenAPI document. + */ +public class SimpleAPIModelReader implements OASModelReader { + + /** + * Path for the example endpoint added by this model reader that should be visible. + */ + public static final String MODEL_READER_PATH = "/test/newpath"; + + /** + * Path for an endpoint that the filter should hide. + */ + public static final String DOOMED_PATH = "/test/doomed"; + + /** + * ID for an endpoint that the filter should hide. + */ + public static final String DOOMED_OPERATION_ID = "doomedPath"; + + /** + * Summary text for the endpoint. + */ + public static final String SUMMARY = "A sample test endpoint from ModelReader"; + + @Override + public OpenAPI buildModel() { + /* + * Add two path items, one of which we expect to be removed by + * the filter and a very simple one that will appear in the + * published OpenAPI document. + */ + PathItem newPathItem = OASFactory.createPathItem() + .GET(OASFactory.createOperation() + .operationId("newPath") + .summary(SUMMARY)); + PathItem doomedPathItem = OASFactory.createPathItem() + .GET(OASFactory.createOperation() + .operationId(DOOMED_OPERATION_ID) + .summary("This should become invisible")); + OpenAPI openAPI = OASFactory.createOpenAPI(); + Paths paths = OASFactory.createPaths() + .addPathItem(MODEL_READER_PATH, newPathItem) + .addPathItem(DOOMED_PATH, doomedPathItem); + openAPI.paths(paths); + + return openAPI; + } +} +---- + +Having written the filter and model reader classes, identify them by adding configuration to + `META-INF/microprofile-config.properties` as the following example shows. + +[source,properties] +---- +mp.openapi.filter=io.helidon.microprofile.examples.openapi.basic.internal.SimpleAPIFilter +mp.openapi.model.reader=io.helidon.microprofile.examples.openapi.basic.internal.SimpleAPIModelReader +---- + + +Now just build and run: + +[source,bash] +---- +mvn package +java -jar target/helidon-examples-microprofile-openapi-basic.jar +---- + +Try the endpoints: + +[source,bash] +---- +curl -X GET http://localhost:8080/greet +{"message":"Hello World!"} + +curl -X GET http://localhost:8080/openapi +[lengthy OpenAPI document] +---- + +The output describes not only then endpoints from `GreetResource` but +also one contributed by the `SimpleAPIModelReader`. + +Full example is available link:{helidon-github-tree-url}}/examples/microprofile/openapi-basic[in our official repository] + + +== Additional Information +include::{incdir}/openapi.adoc[tag=additional-building-jandex] + +== Reference + +* link:https://github.com/eclipse/microprofile-open-api[MicroProfile OpenAPI GitHub Repository] +* link:{microprofile-open-api-spec-url}[MicroProfile OpenAPI Specification] diff --git a/docs/nima/guides/overview.adoc b/docs/nima/guides/overview.adoc new file mode 100644 index 00000000000..8016a99616c --- /dev/null +++ b/docs/nima/guides/overview.adoc @@ -0,0 +1,28 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += Helidon Níma Guides +:description: Helidon Níma Guides +:keywords: helidon, java, microservices, microprofile, guides +:rootdir: {docdir}/../.. + +include::{rootdir}/includes/nima.adoc[] + +== Getting Started + + diff --git a/docs/nima/introduction.adoc b/docs/nima/introduction.adoc new file mode 100644 index 00000000000..dce52141e0b --- /dev/null +++ b/docs/nima/introduction.adoc @@ -0,0 +1,26 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += Helidon Níma +:description: about Helidon Níma +:keywords: helidon, java, microservices, reactive, virtual threads +:rootdir: {docdir}/.. + +include::{rootdir}/includes/nima.adoc[] + +== Introduction \ No newline at end of file diff --git a/docs/se/introduction.adoc b/docs/se/introduction.adoc index 692478afb89..5532714c021 100644 --- a/docs/se/introduction.adoc +++ b/docs/se/introduction.adoc @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// - Copyright (c) 2019, 2022 Oracle and/or its affiliates. + Copyright (c) 2019, 2023 Oracle and/or its affiliates. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -97,7 +97,7 @@ Instrumentation to expose metrics of your applications. //Openapi [CARD] .OpenAPI -[icon=donut_large,link=openapi.adoc] +[icon=donut_large,link=openapi/openapi.adoc] -- Support OpenAPI from your application. -- diff --git a/docs/se/openapi/openapi-generator.adoc b/docs/se/openapi/openapi-generator.adoc new file mode 100644 index 00000000000..82c28f76e9a --- /dev/null +++ b/docs/se/openapi/openapi-generator.adoc @@ -0,0 +1,303 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2022, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += OpenAPI-based Code Generation +:rootdir: {docdir}/../.. +:incdir: {rootdir}/includes/openapi +:gen-inc: {incdir}/openapi-generator.adoc + +include::{rootdir}/includes/se.adoc[] + +:helidon-client-xref: {webclient-page} +include::{gen-inc}[tag=preamble] + +include::{gen-inc}[tags=intro;coords;config;usage;using-generated-code-intro;using-generated-code-server-intro] + + +The Helidon SE server generator also creates, for each API, a separate class containing handler methods for each endpoint. +Along with the `PetService` interface or abstract class which has methods such as `addPet` and `getPetById`, the tool generates `PetServiceImpl` with methods such as `handleAddPet` and `handleGetPetById`. + +[source,java] +.Generated `PetService` abstract class +---- +public abstract class PetService implements Service { + void addPet(ServerRequest request, ServerResponse response, Pet pet) { + // ... + } + abstract void handleAddPet(ServerRequest request, ServerResponse response, Pet pet); + + void getPetById(ServerRequest request, ServerResponse response) { + // ... + } + abstract void handleGetPetById(ServerRequest request, ServerResponse response, Long petId); +} +---- + +[source,java] +.Generated skeleton `PetServiceImpl` class (which you extend) +---- +public class PetServiceImpl extends PetService { + public void handleAddPet(ServerRequest request, ServerResponse response, Pet pet) { + response.status(HTTP_CODE_NOT_IMPLEMENTED.send()); + } + + public void handleGetPetById(ServerRequest request, ServerResponse response, Long petId) { + response.status(HTTP_CODE_NOT_IMPLEMENTED).send(); + } +} +---- +You write your own classes which extend `PetServiceImpl` and the other generated `xxxImpl` classes, overriding the `handle...` methods. + +You have control over--and therefore responsibility for--preparing the response to be sent to the client, including the status, any response headers, and any returned entity. +Your overriding implementation of `handleGetPetById` might look like the following example. + +[source,java] +.Example override of `handleGetPetById` +---- +public void handleGetPetById(ServerRequest request, ServerResponse response, Long petId) { + Pet pet = locatePetInDatabase(petId); + if (pet == null) { + response.status(404).send(); + } + response.send(pet); // Respnose status is 200 by default. + } +} +---- + +include::{gen-inc}[tag=using-generated-code-client-intro] + +The generated Helidon SE client includes the class `ApiClient`. This class corresponds to +the Helidon link:{webclient-javadoc-base-url}/io/helidon/webclient/WebClient.html[`WebClient`] and represents the connection between your code and the remote server. The generator also creates one or more `Api` interfaces and corresponding implementation classes. The examples below use the `PetApi` interface and the `PetApiImpl` class. + +To invoke the remote service your code must: + +. Create an instance of `ApiClient` using an `ApiClient.Builder`. +. Use that `ApiClient` instance to instantiate a `PetApi` object. +. Invoke the methods on the `PetApi` object to access the remote services and then retrieve the returned result value. + +The following sections explain these steps. + +==== Creating an `ApiClient` Instance +The Helidon SE client generator gives you as much flexibility as you need in connecting to the remote service. + +Internally, the `ApiClient` uses a Helidon `WebClient` object to contact the remote system. +The `ApiClient.Builder` automatically prepares a Helidon +link:{webclient-javadoc-base-url}/io/helidon/webclient/WebClient.Builder.html[`WebClient.Builder`] object using information from the OpenAPI document. + +The next sections describe, from simplest to most complicated, the ways your code can create an `ApiClient` instance, each involving increased involvement with the `WebClient.Builder` object. + +===== Accepting the Automatic `WebClient.Builder` +In the simplest case, your code can get an `ApiClient` instance directly. + +[source,java] +.Creating an `ApiClient` instance - simple case +---- +ApiClient apiClient = ApiClient.builder().build(); +---- + +Your code relies fully on the automatic `WebClient.Builder`. +In many cases, this approach works very well, especially if the OpenAPI document correctly declares the servers and their URIs. + +===== Influencing the Automatic `WebClient.Builder` +Your code can use the `ApiClient.Builder` to fine-tune the settings for the internal `WebClient.Builder`. +For instance, your code can set an object mapper to be used for Jackson processing or the `JsonbConfig` object to be used for JSON-B processing, depending on which serialization library you chose when you ran the generator. + +Your code does not need to know how the object mapper setting is conveyed to the internal `WebClient.Builder`. The `ApiClient.Builder` knows how to do that. + +[source,java] +.Creating an `ApiClient` instance - influencing the `ApiClient.Builder` +---- +ApiClient apiClient = apiClient.builder() + .objectMapper(yourCustomMapper) + .build(); +---- + +===== Adjusting the Automatic `WebClient.Builder` +In more complicated situations, your code can adjust the settings of the `WebClient.Builder` the `ApiClient.Builder` creates. + +[source,java] +.Creating an `ApiClient` instance - adjusting the `WebClient.Builder` +---- +ApiClient.Builder apiClientBuilder = ApiClient.builder(); + +apiClientBuilder.webClientBuilder() // <1> + .connectTimeout(4, TimeUnit.SECONDS); // <2> + +ApiClient apiClient = apiClientBuilder.build(); // <3> +---- +<1> Access the `ApiClient.Builder`'s automatic `WebClient.Builder` instance. +<2> Adjust a setting of the `WebClient.Builder` directly. +<3> Build the `ApiClient` which implicitly builds the `WebClient` from the now-adjusted internal `WebClient.Builder`. + +The automatic `WebClient.Builder` retains information derived from the OpenAPI document unless your code overrides those specific settings. + +===== Providing a Custom `WebClient.Builder` +Lastly, you can construct the `WebClient.Builder` entirely yourself and have the `ApiClient.Builder` use it instead of its own internal builder. + +[source,java] +.Creating an `ApiClient` instance - using a custom `WebClient.Builder` +---- +WebClient.Builder customWebClientBuilder = WebClient.builder() + .connectTimeout(3, TimeUnit.SECONDS) + .baseUri("https://myservice.mycompany.com"); + +ApiClient apiClient = ApiClient.builder() + .webClientBuilder(customWebClientBuilder) + .build(); +---- +Note that this approach entirely replaces the internal, automatically-prepared `WebClient.Builder` with yours; it _does not_ merge the new builder with the internal one. In particular, any information from the OpenAPI document the generator used to prepare the internal `WebClient.Builder` is lost. + + +==== Creating a `PetApi` Instance +The `ApiClient` represents the connection to the remote server but not the individual RESTful operations. +Each generated `xxxApi` interface exposes a method for each operation declared in the OpenAPI document associated with that API via its `tags` value. +By example, the `PetApi` interface exposes a method for each operation in the OpenAPI document that pertains to pets. + +To invoke an operation defined on the `PetApi` interface, your code instantiates a `PetApi` using an `ApiClient` object: + +[source,java] +.Preparing the PetStore Client API +---- +ApiClient apiClient = ApiClient.builder().build(); +PetApi petApi = PetApiImpl.create(apiClient); +---- + +==== Invoking Remote Endpoints +With the `petApi` object, your code can invoke any of the methods on the `PetApi` interface to contact the remote service. + +The Helidon WebClient follows a reactive programming model, and the Helidon SE client generator creates an `ApiResponse` interface, also reactive. +Each generated `PetApi` method returns an `ApiResponse` where the `returnType` is the return type declared in the OpenAPI document for the corresponding operation. + +The `ApiResponse` interface exposes two methods your code can use to work with the response from the remote service invocation: + +* `Single result()` ++ +Provides reactive access to the value returned by the remote service in the response. +This method lets your code fetch the return value directly. +* `Single webClientResponse()` ++ +Provides reactive access to the Helidon `WebClientResponse` object. +Your code can find out the HTTP return status, read headers in the response, and process the content (if any) in the response however it needs to. + +In the reactive Helidon WebClient model, the first part of the response message can arrive (the status and headers are available) before the entity in the body of the response is readable. +So there are two reactive events associated with an incoming HTTP response: + +. when the response _excluding_ the entity content has arrived, and +. when your code can begin consuming the entity content. + +You can adopt different styles of retrieving the results, depending on the specific needs of the code you are writing. + +===== Synchronous access to the result +This example shows the simplest way to invoke the remote service and work with the result. + +[source,java] +.Synchronous access to the return value +---- +// Assumes the petApi field is initialized as above. +List availablePets = petApi.findPetsByStatus(List.of(Pet.StatusEnum.AVAILABLE.value())) // <1> + .result() // <2> + .await(4, TimeUnit.SECONDS); // <3> +---- +<1> Start the remote service invocation. +<2> Access the reactive result. +<3> Wait for the result to arrive subject to a four-second timeout. + +This code blocks the current thread, waiting up to four seconds for the response to arrive. +This approach might be adequate if you are developing a command-line client where the thread has no other meaningful work to do until it has the result. +This is _not_ an appropriate style for server code that uses the generated client to invoke another service. + +Note that this approach offers no access to the HTTP status for the response or any headers that might have been returned. + +===== Synchronous access with status checking +The Helidon WebClient programming model includes a `WebClientResponse` interface which exposes all aspects of the HTTP response returned from the remote service. + +The next example shows how your code can use the `WebClientResponse`. + +[source,java] +.Synchronous access with status checking +---- +ApiResponse> apiResponse = petApi.findPetsByStatus(List.of(Pet.StatusEnum.AVAILABLE.value())); // <1> + +WebClientResponse webClientResponse = apiResponse.webClientResponse() + .await(4, TimeUnit.SECONDS); // <2> + +if (webClientResponse.status().code() != 200) { // <3> + // Handle a non-successful status. +} + +List> availablePets = apiResponse.result() + .await(4, TimeUnit.SECONDS); // <4> +---- +<1> Start the remote service invocation. +<2> Wait for the HTTP response status and headers to arrive. +<3> Check the status in the HTTP response. +<4> Wait for the content to arrive subject to a four-second timeout. + +This code also blocks the current thread, first to wait for the initial response and then to wait for the result content. + +===== Fully-reactive access +The following example shows how your code might invoke the remote service and process the response using the reactive programming model. + +.Fully-reactive access with status checking +[source,java] +---- +// Assumes the petApi field is initialized as above. +ApiResponse> availablePetsResponse = + petApi.findPetsByStatus(List.of(Pet.StatusEnum.AVAILABLE.value())); // <1> + +availablePetsResponse.webClientResponse() + .thenAccept(resp -> { // <2> + if (resp.status().code() == 200) { + try { + availablePetsResponse.result() // <3> + .thenAccept(availablePets -> { + // Process the List of available pets. // <4> + + }) + .exceptionally(throwable -> { + // Handle whatever problem occurred in retrieving the results. // <5> + return null; + }); + } catch (ExecutionException | InterruptedException e) { + // Handle errors while waiting for the response content to arrive. // <6> + } + } else { + // Handle non-200 HTTP status. // <7> + }) + .exceptionally(throwable -> { + // Handle whatever problem occurred in receiving the response. // <8> + return null; + }); +---- +<1> Starts the remote service invocation. +<2> Reactively processes the first portion of the HTTP response. +<3> Reactively processes a successfully-received HTTP response. +<4> Reactively processes the successfully-returned list of available pets. +<5> Reactively handles any errors in retrieving the list of available pets. +<6> Handle problems that occurred while waiting for the response content to arrive. +<7> Handle a non-200 response status. +<8> Reactively handles any errors in receiving the HTTP response. + +The fully-reactive approach brings with it some complexity, but it lets your code completely avoid blocking the thread that initiates the outbound remote service access. +Avoiding blocking is especially important if the code which uses the generated client runs in a server. + +Some of this complexity enters because there are several ways this processing can fail. +Your code should handle each of them in whatever ways make sense for your application, and that might mean dealing with each different error scenario in a different way. + +include::{gen-inc}[tag=common-references] +* xref:{helidon-client-xref}[Helidon WebClient documentation] \ No newline at end of file diff --git a/docs/se/openapi/openapi-ui.adoc b/docs/se/openapi/openapi-ui.adoc new file mode 100644 index 00000000000..029f6930e21 --- /dev/null +++ b/docs/se/openapi/openapi-ui.adoc @@ -0,0 +1,130 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2022, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += OpenAPI UI +:description: Helidon SE OpenAPI UI Support +:keywords: helidon, se, openapi ui +:rootdir: {docdir}/../.. +:ui-inc: {rootdir}/includes/openapi/openapi-ui.adoc + +include::{rootdir}/includes/se.adoc[] + +:javadoc-path: {openapi-ui-javadoc-base-url}/io/helidon/integrations/openapi/ui +:openapi-javadoc-path: {openapi-javadoc-base-url}/io/helidon/openapi + +include::{ui-inc}[tag=preamble] + +include::{ui-inc}[tags=intro;overview] + +include::{ui-inc}[tag=dependencies] + +Also, make sure your project has the following dependency. + +include::{docdir}/openapi.adoc[tag=depc] + +This dependency allows your application to create, configure, and register the `OpenAPISupport` service. + +include::{ui-inc}[tag=usage] + +== API +=== Creating `OpenAPISupport` with Automatic UI Behavior +With the Helidon OpenAPI UI dependency in your `pom.xml` file, any `OpenAPISupport` object your application builds prepares the default OpenAPI UI behavior, possibly modified by any UI settings you have in your configuration. + +[source,java] +.Create `OpenAPISupport` with automatic UI +---- +Config config = Config.create(); // <1> +Config openApiConfig = config.get(OpenAPISupport.Builder.CONFIG_KEY)); // <2> + +OpenAPISupport openApiSupport = + OpenAPISupport.builder() + .config(openApiConfig) // <3> + .build(); +---- +<1> Load the configuration. +<2> Extract the `OpenAPISupport` configuration. +<3> Build the `OpenAPISupport` instance using the configuration. + +If your code invokes the `OpenAPISupport.Builder` `config` method, Helidon automatically applies the `ui` section of the `openapi` configuration to the UI. + +=== Customizing the UI Behavior +You can control some of the behavior of the UI programmatically in two steps: + +. Create an link:{javadoc-path}/OpenApiUi.Builder.html[`OpenApiUi.Builder`] and invoke methods on it to set the UI behavior. +. Invoke the `ui` method on link:{openapi-javadoc-base-url}/io.helidon.openapi.OpenAPISupport.Builder.html[`OpenAPISupport.Builder`], passing the `OpenApiUi.Builder` you prepared above. + +The following example illustrates these steps, combining configuration with explicit programmatic settings. + +[source,java] +.Create `OpenApiUi` and `OpenAPISupport` instances +---- +Config config = Config.create(); // <1> +Config openApiConfig = config.get(OpenAPISupport.Builder.CONFIG_KEY)); // <2> + +OpenApiUi.Builder uiBuilder = + OpenApiUi.builder() // <3> + .webContext("/my-openapi-ui"); // <4> + +OpenAPISupport openApiSupport = + OpenAPISupport.builder() // <5> + .ui(uiBuilder) + .config(openApiConfig) // <6> + .build(); + + +---- +<1> Load the configuration. +<2> Extract the `OpenAPISupport` configuration. +<3> Create the `OpenApiUi.Builder` instance. +<4> Explicitly set the web context where the UI should respond. +<5> Create the `OpenAPISupport` instance using the `OpenApiUi.Builder` just created. +You can refine the behavior of the `OpenAPISupport` object by invoking additional methods on its builder before invoking its `build` method. +<6> Apply the `openapi` configuration to the `OpenAPISupport` builder. This also automatically applies any `openapi.ui` configuration to the UI. + +The order in which your code invokes the methods on `OpenApiUi.Builder` and `OpenAPISupport.Builder` determines the outcome. +For instance, the example above sets the UI on the `OpenAPISupport.Builder` _before_ applying configuration. +If the configuration contains a setting for the UI's `web-context` value then the UI uses the configured value, not the programmatic value, because your code applied the configuration later. +Your code should typically apply configuration _after_ setting any values programmatically. +Doing so allows users or deployers of your service to set the behavior using configuration according to their particular needs which your code might not be able to anticipate. + +[NOTE] +==== +The `webContext(String)` method on `OpenApiUi.Builder` sets the web context where the UI should respond instead of the default `/openapi/ui`. +Helidon uses the provided string to set the _entire_ web context for the UI, not as a suffix appended to the web context for the `OpenAPISupport` service. +==== + +=== Registering `OpenAPISupport` +Whether or not your code tailors the UI or `OpenAPISupport` behavior, it must register the resulting `OpenAPISupport` instance so that the OpenAPI and UI endpoints can respond correctly. + +[source,java] +.Register services for routing +---- +Routing.builder() + .register(openApiSupport) + // Add registrations of your service(s) and other Helidon services you need. + .build(); +---- + +The UI is implemented as part of the `OpenAPISupport` service which registers the UI automatically. +Your code does not register the UI explicitly. + +include::{ui-inc}[tag=config-intro] + +include::{ui-inc}[tag=config-details] + +include::{ui-inc}[tag=additional-info] \ No newline at end of file diff --git a/docs/se/openapi/openapi.adoc b/docs/se/openapi/openapi.adoc new file mode 100644 index 00000000000..218fec75043 --- /dev/null +++ b/docs/se/openapi/openapi.adoc @@ -0,0 +1,126 @@ +/////////////////////////////////////////////////////////////////////////////// + + Copyright (c) 2019, 2023 Oracle and/or its affiliates. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +/////////////////////////////////////////////////////////////////////////////// + += OpenAPI in Helidon +:description: Helidon SE OpenAPI Support +:keywords: helidon, se, openapi +:feature-name: OpenAPI +:rootdir: {docdir}/../.. +:incdir: {rootdir}/includes/openapi + +include::{rootdir}/includes/se.adoc[] +:javadoc-path: {openapi-javadoc-base-url}/io.helidon.openapi + +== Contents + +- <> +- <> +- <> +- <> +- <> +- <> +- <> + +== Overview + +include::{incdir}/openapi.adoc[tag=overview] + +include::{rootdir}/includes/dependencies.adoc[] + +// tag::depc[] +[source,xml] +---- + + io.helidon.openapi + helidon-openapi + +---- +// end::depc[] + +== Usage + +You can very simply add support for OpenAPI to your Helidon SE application. This +document shows what changes you need to make to your application and how to access +the OpenAPI document for your application at runtime. + +=== Changing your application + +==== Register `OpenAPISupport` in your application routing + +Helidon SE provides the link:{javadoc-path}/OpenAPISupport.html[`OpenAPISupport`] class which your application uses to assemble the in-memory model and expose the `/openapi` endpoint to clients. You can create an instance either using a static `create` method or by instantiating its link:{javadoc-path}/OpenAPISupport.Builder.html[`Builder`]. The xref:#register_openapisupport[example below] illustrates one way to do this. + +include::{incdir}/openapi.adoc[tag=furnish-openapi-info] + +==== Add OpenAPI dependency +If you implement either a model reader or a filter, add this dependency to your +`pom.xml`: + +[source,xml,subs="attributes+"] +---- + + org.eclipse.microprofile.openapi + microprofile-openapi-api + {microprofile-openapi-version} + +---- + +include::{incdir}/openapi.adoc[tag=usage-access-endpoint] + +== API + +include::{incdir}/openapi.adoc[tag=api] + +Helidon {flavor-uc} provides an API for creating and setting up the REST endpoint which serves OpenAPI documents to clients at the `/openapi` path. Use either static methods on link:{javadoc-path}/OpenAPISupport.html[`OpenAPISupport`] or use its link:{javadoc-base}/OpenAPISupport.Builder.html[`Builder`] to create an instance of `OpenAPISupport`. Then add that instance to your application's routing. The <<#register_openapisupport,example>> below shows how to do this. + +[[config]] +== Configuration + +Helidon SE OpenAPI configuration supports the following settings: + +include::{rootdir}/config/io_helidon_openapi_SEOpenAPISupport.adoc[leveloffset=+1,tag=config] + + + +== Examples + +Helidon SE provides a link:{helidon-github-tree-url}/examples/openapi[complete OpenAPI example] +based on the SE QuickStart sample app which includes a model reader and a filter. + +Most Helidon {flavor-uc} applications need only to create and register `OpenAPISupport`. + +[#register_openapisupport] +=== Register `OpenAPISupport` + +.Java Code to Register `OpenAPISupport` for Routing +[source,java] +---- +Config config = Config.create(); +return Routing.builder() + .register(JsonSupport.create()) + .register(OpenAPISupport.create(config)) // <1> + .register(health) // Health at "/health" + .register(metrics) // Metrics at "/metrics" + .register("/greet", greetService) + .build(); +---- +<1> Adds the `OpenAPISupport` service to your server. + +If you need more control over the `OpenAPISupport` instance, invoke `OpenAPISupport.builder()` to get an `OpenAPISupport.Builder` object and work with it. + +== Additional Information +include::{incdir}/openapi.adoc[tag=additional-building-jandex] \ No newline at end of file diff --git a/docs/sitegen.yaml b/docs/sitegen.yaml index 6eeba76b4da..f2ca0034da8 100644 --- a/docs/sitegen.yaml +++ b/docs/sitegen.yaml @@ -42,7 +42,7 @@ pages: - "includes/**" backend: name: "vuetify" - homePage: "about/introduction.adoc" + homePage: "about/doc_overview.adoc" releases: - "${project.version}" navigation: @@ -53,8 +53,8 @@ backend: value: "images/helidon_logo_dark.svg" items: - type: "PAGE" - title: "Introduction" - source: "about/introduction.adoc" + title: "Documentation Overview" + source: "about/doc_overview.adoc" glyph: type: "icon" value: "lightbulb" @@ -78,6 +78,24 @@ backend: value: "widgets" - type: "GROUPS" items: + - type: "GROUP" + title: "Helidon Nima" + dir: "nima" + items: + - type: "PAGE" + title: "Introduction" + source: "introduction.adoc" + glyph: + type: "icon" + value: "lightbulb" + - type: "MENU" + title: "Guides" + dir: "guides" + glyph: + type: "icon" + value: "explore" + sources: + - "overview.adoc" - type: "GROUP" title: "Helidon SE" dir: "se" @@ -138,6 +156,24 @@ backend: glyph: type: "icon" value: "storage" + - type: "PAGE" + title: "Fault Tolerance" + source: "fault-tolerance.adoc" + glyph: + type: "icon" + value: "warning" + - type: "PAGE" + title: "GraalVM Native Image" + source: "aot.adoc" + glyph: + type: "icon" + value: "save" + - type: "PAGE" + title: "GraphQL Server" + source: "graphql.adoc" + glyph: + type: "icon" + value: "graphic_eq" - type: "MENU" title: "gRPC" dir: "grpc" @@ -147,18 +183,22 @@ backend: sources: - "server.adoc" - "client.adoc" - - type: "PAGE" - title: "GraphQL server" - source: "graphql.adoc" - glyph: - type: "icon" - value: "graphic_eq" - type: "PAGE" title: "Health Checks" source: "health.adoc" glyph: type: "icon" value: "favorite_outline" + - type: "MENU" + title: "Integrations" + dir: "integrations" + glyph: + type: "icon" + value: "filter_drama" + sources: + - "oci.adoc" + - "hcv.adoc" + - "neo4j.adoc" - type: "MENU" title: "Metrics" dir: "metrics" @@ -170,22 +210,22 @@ backend: - "micrometer.adoc" - "prometheus-exemplar-support.adoc" - "metrics-capable-components.adoc" - - type: "PAGE" + - type: "MENU" title: "OpenAPI" - source: "openapi.adoc" + dir: "openapi" glyph: type: "icon" value: "donut_large" - - type: "MENU" - title: "Integrations" - dir: "integrations" + sources: + - "openapi.adoc" + - "openapi-generator.adoc" + - "openapi-ui.adoc" + - type: "PAGE" + title: "Reactive Messaging" + source: "reactive-messaging.adoc" glyph: type: "icon" - value: "filter_drama" - sources: - - "oci.adoc" - - "hcv.adoc" - - "neo4j.adoc" + value: "message" - type: "MENU" title: "Reactive Streams" dir: "reactivestreams" @@ -195,18 +235,18 @@ backend: sources: - "engine.adoc" - "rsoperators.adoc" - - type: "PAGE" - title: "Reactive Messaging" - source: "reactive-messaging.adoc" - glyph: - type: "icon" - value: "message" - type: "PAGE" title: "Reactive Webserver" source: "webserver.adoc" glyph: type: "icon" value: "settings_ethernet" + - type: "PAGE" + title: "Scheduling" + source: "scheduling.adoc" + glyph: + type: "icon" + value: "access_alarm" - type: "MENU" title: "Security" dir: "security" @@ -220,12 +260,6 @@ backend: - "tools.adoc" - "extensibility.adoc" - "jep-290.adoc" - - type: "PAGE" - title: "Scheduling" - source: "scheduling.adoc" - glyph: - type: "icon" - value: "access_alarm" - type: "PAGE" title: "Tracing" source: "tracing.adoc" @@ -244,18 +278,6 @@ backend: glyph: type: "icon" value: "timeline" - - type: "PAGE" - title: "AOT" - source: "aot.adoc" - glyph: - type: "icon" - value: "save" - - type: "PAGE" - title: "Fault Tolerance" - source: "fault-tolerance.adoc" - glyph: - type: "icon" - value: "warning" - type: "GROUP" title: "Helidon MP" dir: "mp" @@ -318,6 +340,18 @@ backend: glyph: type: "icon" value: "warning" + - type: "PAGE" + title: "GraalVM Native Image" + source: "aot.adoc" + glyph: + type: "icon" + value: "save" + - type: "PAGE" + title: "GraphQL Server" + source: "graphql.adoc" + glyph: + type: "icon" + value: "graphic_eq" - type: "MENU" title: "gRPC" dir: "grpc" @@ -327,18 +361,23 @@ backend: sources: - "server.adoc" - "client.adoc" - - type: "PAGE" - title: "GraphQL" - source: "graphql.adoc" - glyph: - type: "icon" - value: "graphic_eq" - type: "PAGE" title: "Health Checks" source: "health.adoc" glyph: type: "icon" value: "favorite_outline" + - type: "MENU" + title: "Integrations" + dir: "integrations" + glyph: + type: "icon" + value: "filter_drama" + sources: + - "oci.adoc" + - "hcv.adoc" + - "jedis.adoc" + - "neo4j.adoc" - type: "MENU" title: "JAX-RS/Jersey" dir: "jaxrs" @@ -349,24 +388,18 @@ backend: - "application-configuration.adoc" - "jaxrs-applications.adoc" - "jaxrs-client.adoc" - - type: "PAGE" - title: "Persistence" - source: "persistence.adoc" - glyph: - type: "icon" - value: "dns" - type: "PAGE" title: "JWT" source: "jwt.adoc" glyph: type: "icon" - value: "verified_user" + value: "verified_user" - type: "PAGE" title: "Long Running Actions (LRA)" source: "lra.adoc" glyph: type: "icon" - value: "pending_actions" + value: "pending_actions" - type: "MENU" title: "Metrics" dir: "metrics" @@ -378,32 +411,22 @@ backend: - "micrometer.adoc" - "prometheus-exemplar-support.adoc" - "metrics-capable-components.adoc" - - type: "PAGE" + - type: "MENU" title: "OpenAPI" - source: "openapi.adoc" + dir: "openapi" glyph: type: "icon" value: "donut_large" - - type: "MENU" - title: "Integrations" - dir: "integrations" - glyph: - type: "icon" - value: "filter_drama" sources: - - "oci.adoc" - - "hcv.adoc" - - "jedis.adoc" - - "neo4j.adoc" - - type: "MENU" - title: "Reactive Streams" - dir: "reactivestreams" + - "openapi.adoc" + - "openapi-generator.adoc" + - "openapi-ui.adoc" + - type: "PAGE" + title: "Persistence" + source: "persistence.adoc" glyph: type: "icon" - value: "waves" - sources: - - "engine.adoc" - - "rsoperators.adoc" + value: "dns" - type: "MENU" title: "Reactive Messaging" dir: "reactivemessaging" @@ -417,12 +440,27 @@ backend: - "aq.adoc" - "weblogic.adoc" - "mock.adoc" + - type: "MENU" + title: "Reactive Streams" + dir: "reactivestreams" + glyph: + type: "icon" + value: "waves" + sources: + - "engine.adoc" + - "rsoperators.adoc" - type: "PAGE" title: "REST Client" source: "restclient.adoc" glyph: type: "icon" value: "airplay" + - type: "PAGE" + title: "Scheduling" + source: "scheduling.adoc" + glyph: + type: "icon" + value: "access_alarm" - type: "MENU" title: "Security" dir: "security" @@ -435,11 +473,19 @@ backend: - "configuration-secrets.adoc" - "jep-290.adoc" - type: "PAGE" - title: "Scheduling" - source: "scheduling.adoc" + title: "Server" + source: "server.adoc" glyph: type: "icon" - value: "access_alarm" + value: "settings_ethernet" + - type: "MENU" + title: "Testing" + glyph: + type: "icon" + value: "thumbs_up_down" + sources: + - "testing.adoc" + - "testing-ng.adoc" - type: "PAGE" title: "Tracing" source: "tracing.adoc" @@ -452,26 +498,6 @@ backend: glyph: type: "icon" value: "sync_alt" - - type: "PAGE" - title: "Server" - source: "server.adoc" - glyph: - type: "icon" - value: "settings_ethernet" - - type: "PAGE" - title: "AOT" - source: "aot.adoc" - glyph: - type: "icon" - value: "save" - - type: "MENU" - title: "Testing" - glyph: - type: "icon" - value: "thumbs_up_down" - sources: - - "testing.adoc" - - "testing-ng.adoc" - type: "HEADER" title: "Additional resources" - type: "LINK"