You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-7Lines changed: 18 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,24 @@
7
7
8
8
# ∞ do more, more easily
9
9
10
-
[Jooby](https://jooby.io) is a modern, performant and easy to use web framework for Java and Kotlin built on top of your
11
-
favorite web server.
10
+
[Jooby](https://jooby.io) is a modern, high-performance web framework for Java and Kotlin, designed to run seamlessly atop your preferred web server.
11
+
12
+
## 🚀 Built for Speed
13
+
-**High Performance**: Consistently ranks among the fastest Java frameworks in TechEmpower benchmarks.
14
+
-**Lightweight Footprint**: Low memory usage and fast startup times make it ideal for microservices environments.
15
+
-**Choose Your Engine**: Built to run on your favorite high-performance servers: Netty, Jetty, or Undertow.
16
+
17
+
## 🛠️ Developer Productivity
18
+
-**Instant Hot-Reload**: Save your code and see changes immediately without restarting the entire JVM.
19
+
-**Modular by Design**: Only use what you need. Jooby offers over 50 "thin" modules for database access (Hibernate, JDBI, Flyway), security (Pac4j), and more.
20
+
-**OpenAPI & Swagger**: Automatically generate interactive documentation for your APIs with built-in OpenAPI 3 support.
21
+
22
+
## 🧩 Unrivaled Flexibility
23
+
-**The Power of Choice**: Use the Script API (fluent, lambda-based routes) for simple apps, or the MVC API (annotation-based) for complex enterprise projects.
24
+
-**Reactive & Non-Blocking**: Full support for modern async patterns, including Kotlin Coroutines, RxJava, Reactor, and CompletableFutures.
25
+
-**First-Class Kotlin Support**: Native DSLs and features designed specifically to make Kotlin development feel intuitive and type-safe.
26
+
27
+
## Quick Start
12
28
13
29
Java:
14
30
@@ -72,11 +88,6 @@ Previous version
72
88
- v2: [Documentation](https://jooby.io/v2) and [source code](https://github.com/jooby-project/jooby/tree/2.x)
73
89
- v1: [Documentation](https://jooby.io/v1) and [source code](https://github.com/jooby-project/jooby/tree/1.x)
Checkout the [demo project](https://github.com/jooby-project/library-demo)
14
+
Checkout the https://github.com/jooby-project/library-demo[demo project]
15
15
16
16
=== Configuration
17
17
@@ -34,10 +34,7 @@ Checkout the [demo project](https://github.com/jooby-project/library-demo)
34
34
<goal>openapi</goal>
35
35
</goals>
36
36
<configuration>
37
-
<specVersion>...</specVersion>
38
-
<adoc>
39
-
<file>...</file>
40
-
</adoc>
37
+
...
41
38
</configuration>
42
39
</execution>
43
40
</executions>
@@ -66,6 +63,12 @@ plugins {
66
63
mainClassName = "myapp.App"
67
64
...
68
65
66
+
// Configuration
67
+
68
+
openAPI {
69
+
....
70
+
}
71
+
69
72
// Run openAPI task on joobyRun
70
73
joobyRun.dependsOn openAPI
71
74
@@ -80,6 +83,53 @@ It may slow down `hot reload` process in case of large projects with a lot of co
80
83
To avoid this behaviour you can specify maven build phase which suits your needs better (e.g. `prepare-package`).
81
84
====
82
85
86
+
==== Options
87
+
88
+
[cols="1,1,4a"]
89
+
|===
90
+
| Option | Default Value | Description
91
+
92
+
|`adoc`
93
+
|
94
+
|List of asciidoc files used as template to generate documentation:
95
+
96
+
.Maven:
97
+
98
+
<adoc>
99
+
<file>guide.adoc</file>
100
+
</adoc>
101
+
102
+
.Gradle:
103
+
{
104
+
adoc = ["guide.adoc"]
105
+
}
106
+
107
+
|`basedir`
108
+
| `${project.dir}`
109
+
|Set base directory used it for loading openAPI template file name.
110
+
111
+
|`excludes`
112
+
|
113
+
|Regular expression used to excludes route. Example: `/web`.
114
+
115
+
|`includes`
116
+
|
117
+
|Regular expression used to includes/keep route. Example: `/api/.*`.
118
+
119
+
|`javadoc`
120
+
|`on/true`
121
+
|Turn on/off javadoc generation from Java source files. Set to `off` or `false` to turn it off.
122
+
123
+
|`specVersion`
124
+
|`3.0`
125
+
|Set the desired spec output. Possible values: `3.0` or `3.1`
126
+
127
+
|`templateName`
128
+
|`openapi.yaml`
129
+
|Set openAPI template file path.
130
+
131
+
|===
132
+
83
133
=== Usage
84
134
85
135
To learn how it works, let's write a simple Pet API:
@@ -145,7 +195,7 @@ You will find the files in the output build directory. If your application is `b
145
195
This is the main difference with previous version. We moved from runtime to build time generation. This way we:
146
196
147
197
- Are able to get our OpenAPI files at build time (of course)
148
-
- At runtime we don't waste resources (CPU, memory) while analyze and build the OpenAPI model
198
+
- At runtime, we don't waste resources (CPU, memory) while analyze and build the OpenAPI model
149
199
- We keep bootstrap as fast as possible
150
200
====
151
201
@@ -204,11 +254,11 @@ properties filter routes by their path pattern. The filter is a regular expressi
204
254
205
255
=== Documenting your API
206
256
207
-
Full/complete example available [here](https://github.com/jooby-project/library-demo)
257
+
Full/complete example available https://github.com/jooby-project/library-demo[here]
208
258
209
259
==== JavaDoc comments
210
260
211
-
JavaDoc comments are supported on Java in script and MVC routes.
261
+
JavaDoc comments are supported for script and MVC routes on Java code base. They are enable by default, to turn them off set `javadoc: off` or `javadoc: false` in your maven/gradle plugin.
0 commit comments