I’m trying to create a functional spring boot spring webflux project that applies open api v3 but this seems quite difficult.
FunctionalConfig example:
@Bean
public RouterFunction<ServerResponse> baseTemplateMonoRouterFunction(TemplateHandler templateHandler) {
return CoreUtilities.baseMonoRouterFunction(templateHandler, TemplateEntity.class, "/template");
}
pom.xml
<!-- Spring doc ui -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webflux-ui</artifactId>
<version>2.5.0</version>
</dependency>
public static Consumer<Builder> getOpenApi(
String tagName,
String operationId,
Class<?> classEntity,
String summary
) {
return ops -> ops.tag(tagName)
.operationId(operationId).summary(summary).tags(new String[]{"Functional " + tagName})
.security(org.springdoc.core.fn.builders.securityrequirement.Builder.securityRequirementBuilder().name(UtilitiesConstant.OpenApiSecurityName))
.parameter(
parameterBuilder().in(ParameterIn.QUERY)
.name("roles")
.description("Role List")
.required(false)
.schema(
org.springdoc.core.fn.builders.schema.Builder.schemaBuilder()
.type("array")
)
)
.response(responseBuilder().responseCode("200").description("Successful operation").implementation(classEntity))
.response(responseBuilder().responseCode("400").description("Invalid " + tagName + " ID supplied"))
.response(responseBuilder().responseCode("401").description("Unauthorised"))
.response(responseBuilder().responseCode("403").description("Forbidden"))
.response(responseBuilder().responseCode("404").description(tagName + " not found"));
}
Sample output:
I want to display query array add item as shown below