summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2023-04-06 16:57:41 +0100
committerRobert Newson <rnewson@apache.org>2023-04-22 11:20:01 +0100
commit5235460eced2e9ad02b27f35f8118114f8ad24a4 (patch)
tree8bf8ec9874679372e7d7ea1a1010f6f4e16289c7
parent4b6948ed5970d0ff661a76a0fe95df68c9e9f228 (diff)
downloadcouchdb-5235460eced2e9ad02b27f35f8118114f8ad24a4.tar.gz
swagger/openapi endpoint
-rw-r--r--nouveau/README.md1
-rw-r--r--nouveau/pom.xml14
-rw-r--r--nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java4
-rw-r--r--nouveau/src/main/resources/openapi.yaml2
4 files changed, 21 insertions, 0 deletions
diff --git a/nouveau/README.md b/nouveau/README.md
index 975241893..d24c880c2 100644
--- a/nouveau/README.md
+++ b/nouveau/README.md
@@ -25,6 +25,7 @@ This work is currently EXPERIMENTAL and may change in ways that invalidate any e
* update=false
* `_nouveau_info`
* `_search_cleanup`
+* /openapi.{json.yaml}
## What doesn't work yet?
diff --git a/nouveau/pom.xml b/nouveau/pom.xml
index cf8a3be69..5c25030fa 100644
--- a/nouveau/pom.xml
+++ b/nouveau/pom.xml
@@ -31,6 +31,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<project.tests.exclude>SlowTest</project.tests.exclude>
<slf4j.version>1.7.32</slf4j.version>
+ <swagger.version>2.2.8</swagger.version>
</properties>
<dependencyManagement>
@@ -124,6 +125,19 @@
<version>${lucene.version}</version>
</dependency>
+
+ <!-- Swagger -->
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-jaxrs2-jakarta</artifactId>
+ <version>${swagger.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger.core.v3</groupId>
+ <artifactId>swagger-jaxrs2-servlet-initializer-v2</artifactId>
+ <version>${swagger.version}</version>
+ </dependency>
+
<!-- Test -->
<dependency>
<groupId>io.dropwizard</groupId>
diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
index d553d72b3..1e182d553 100644
--- a/nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
+++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
@@ -28,6 +28,7 @@ import org.apache.lucene.search.SearcherFactory;
import io.dropwizard.core.Application;
import io.dropwizard.core.setup.Environment;
+import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource;
public class NouveauApplication extends Application<NouveauApplicationConfiguration> {
@@ -73,6 +74,9 @@ public class NouveauApplication extends Application<NouveauApplicationConfigurat
// configure tasks
environment.admin().addTask(new CloseAllIndexesTask(indexManager));
+
+ // Swagger
+ environment.jersey().register(new OpenApiResource());
}
}
diff --git a/nouveau/src/main/resources/openapi.yaml b/nouveau/src/main/resources/openapi.yaml
new file mode 100644
index 000000000..141df07b3
--- /dev/null
+++ b/nouveau/src/main/resources/openapi.yaml
@@ -0,0 +1,2 @@
+resourcePackages:
+- org.apache.couchdb.nouveau.lucene9.resources \ No newline at end of file