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: docs/behind-the-scenes.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,39 +4,39 @@ sidebar_position: 70
4
4
5
5
# Behind the scenes
6
6
7
-
The following paragraphs describe how springwolf works internally.
7
+
The following paragraphs describe how Springwolf works internally.
8
8
9
9
## Big Picture
10
-
When the Spring Boot application is started, springwolf uses its scanners to find defined consumers and producers within the application.
10
+
When the Spring Boot application is started, Springwolf uses its scanners to find defined consumers and producers within the application.
11
11
Based on the results, the channels/topics are extracted including payload type and merged together into an [AsyncApi conform document](https://www.asyncapi.com/docs/reference/specification/v2.6.0).
12
12
13
-
The AsyncApi document is accessible an endpoint.
14
-
When the springwolf ui is opened, the browser fetches the document and renders it (see demo).
13
+
The AsyncAPI document is accessible an endpoint.
14
+
When the Springwolf ui is opened, the browser fetches the document and renders it (see demo).
15
15
16
16
When publishing is enabled, the user can publish a message through the ui to another endpoint.
17
-
From there, springwolf forwards the message to the protocol specific producer.
17
+
From there, Springwolf forwards the message to the protocol specific producer.
18
18
19
19
## Plugins
20
-
`springwolf-core` provides the base functionality to orchestrate the scanning and building of the AsyncApi document.
20
+
`springwolf-core` provides the base functionality to orchestrate the scanning and building of the AsyncAPI document.
21
21
The different protocol (AMQP, Kafka) are supported through plugins.
22
22
These plugins are found through the Spring dependency injection functionality.
23
23
When building own scanner plugins, your plugin will need to implement the `ChannelsScanner` interface.
24
24
25
25
## Scanners
26
-
`springwolf-core` runs all scanners and merges the found results together into one AsyncApi document.
26
+
`springwolf-core` runs all scanners and merges the found results together into one AsyncAPI document.
27
27
When the same channel/topic is found multiple times, it is merged as well.
28
28
29
29
The result is a [`ChannelItem`](https://www.asyncapi.com/docs/reference/specification/v2.6.0#channelItemObject).
30
30
The `ChannelItem` contains the `Message` for the subscribe and/or publish operation.
31
31
32
32
## Building an example payload
33
33
When the scanners scan and build the result, they also extract the payload type.
34
-
The payload is registered in the `SchemasService`, which allows to split the `Message` from the schema definition - within the AsyncApi doc a `$ref` references is used.
34
+
The payload is registered in the `SchemasService`, which allows to split the `Message` from the schema definition - within the AsyncAPI doc a `$ref` references is used.
35
35
36
-
Using `swagger-inflector` any class can be converted into a OpenApi schema.
37
-
This is used to instantiate an Example object with default values and serialized into an example json for the AsyncApi document.
36
+
Using `swagger-parser` any class can be converted into a OpenAPI schema.
37
+
The schema is then used to serialized it into an example json for the AsyncAPI document.
38
38
39
-
By using `swagger-inflector`, all the `@Schema` and other swagger annotations are supported as well as `@JsonProperty` through the use of the objectmapper.
39
+
By using `swagger-parser`, all the `@Schema` and other swagger annotations are supported as well as `@JsonProperty` through the use of the objectmapper.
40
40
41
41
### ModelConverters
42
42
ModelConverters provide a way to improve documentation for classes, which cannot be modified, for example because they are part of an external library.
|`springwolf.enabled`|`true`| Allows to enable/disable springwolf at one central place. |
64
+
|`springwolf.enabled`|`true`| Allows to enable/disable Springwolf at one central place. |
65
65
|`springwolf.paths.docs`|`/springwolf/docs`| The path of the AsyncAPI document in JSON format. *Note that at the moment the UI will work only with the default value.*|
66
66
|`springwolf.scanner.consumer-data.enabled`|`true`| Enable scanner to find consumers defined in `AsyncApiDocket`. |
67
67
|`springwolf.scanner.producer-data.enabled`|`true`| Enable scanner to find producers defined in `AsyncApiDocket`. |
Copy file name to clipboardExpand all lines: docs/faq.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,13 +6,13 @@ sidebar_position: 80
6
6
7
7
## General
8
8
9
-
### Is springwolf free? What is the license?
9
+
### Is Springwolf free? What is the license?
10
10
11
-
Yes, you can use springwolf for private and commercial purposes as long as you comply to the [Apache License 2.0](https://github.com/springwolf/springwolf-core/blob/master/LICENSE).
11
+
Yes, you can use Springwolf for private and commercial purposes as long as you comply to the [Apache License 2.0](https://github.com/springwolf/springwolf-core/blob/master/LICENSE).
12
12
13
13
## Troubleshooting
14
14
15
-
### The springwolf UI is not showing
15
+
### The Springwolf UI is not showing
16
16
17
17
When the `springwolf-ui` dependency is added, the ui should be visible at [http://localhost:8080/springwolf/asyncapi-ui.html](http://localhost:8080/springwolf/asyncapi-ui.html).
18
18
@@ -45,7 +45,7 @@ Spring Security allows to limit access to authorized users.
45
45
46
46
### IsSpringBoot 2.X supported?
47
47
48
-
You can use an older version of springwolf, which is build to support SpringBoot 2.X.
48
+
You can use an older version of Springwolf, which is build to support SpringBoot 2.X.
49
49
However, these versions do not get any updates.
50
50
51
51
Last versions to support SpringBoot 2.X:
@@ -66,7 +66,7 @@ Use the `AsyncApiService` to access the generated documentation.
66
66
#### WithGradle
67
67
68
68
You can use the [springdoc-openapi-gradle-plugin](https://github.com/springdoc/springdoc-openapi-gradle-plugin) and configure the plugin
69
-
forspringwolf by pointing it to the springwolf docs endpoint:
69
+
forSpringwolf by pointing it to the Springwolf docs endpoint:
70
70
71
71
```groovy
72
72
openApi {
@@ -87,7 +87,7 @@ properties can help you.
87
87
88
88
### My consumers are detected multiple times (with different payloads)
89
89
90
-
Whenspringwolf finds multiple consumers/producers for the same channel/topic, these are merged together.
90
+
WhenSpringwolf finds multiple consumers/producers for the same channel/topic, these are merged together.
91
91
This is expected, as there are use-cases where different payloads are sent via the same channel/topic.
92
92
93
93
Springwolf uses on scanners to find all consumer and producers in your application.
Copy file name to clipboardExpand all lines: docs/introduction/introduction.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ sidebar_position: 10
4
4
5
5
# Introduction
6
6
7
-
## What is springwolf
7
+
## What is Springwolf
8
8
API Documentation is an important part of every project and product, but can be painful to maintain manually.
9
9
Spring Boot projects have great solutions for auto-generated documentation for REST APIs to overcome this pain (such as springfox, or springdoc-openapi).
10
10
@@ -14,7 +14,7 @@ Springwolf is compliant to [AsyncAPI](https://www.asyncapi.com), which brings th
14
14
15
15
### Demo
16
16
17
-
View the [live demo](https://demo.springwolf.dev) of springwolf in action.
17
+
View the [live demo](https://demo.springwolf.dev) of Springwolf in action.
*Make sure to change the value of `springwolf.docket.base-package` to the package containing your listeners, so that springwolf will automatically pick them up.*
47
+
*Make sure to change the value of `springwolf.docket.base-package` to the package containing your listeners, so that Springwolf will automatically pick them up.*
48
48
49
49
## 3. View the docs
50
50
Start the application and open the urls in your browser:
If you configured a different context path in your application, make sure to prepend it to springwolf urls, i.e. `<host>:<port>/<context-path>/springwolf/asyncapi-ui.html`
55
+
If you configured a different context path in your application, make sure to prepend it to Springwolf urls, i.e. `<host>:<port>/<context-path>/springwolf/asyncapi-ui.html`
0 commit comments