diff --git a/http-generator-core/src/main/java/io/avaje/http/generator/core/MethodReader.java b/http-generator-core/src/main/java/io/avaje/http/generator/core/MethodReader.java index 169faf06..8215b71d 100644 --- a/http-generator-core/src/main/java/io/avaje/http/generator/core/MethodReader.java +++ b/http-generator-core/src/main/java/io/avaje/http/generator/core/MethodReader.java @@ -273,9 +273,12 @@ private List buildApiResponses() { public void readOperation(Operation operation, Javadoc javadoc) { OperationPrism.getOptionalOn(element).ifPresent(an -> { operation.setOperationId(emptyToNull(an.operationId())); - operation.setDeprecated(an.deprecated()); operation.setSummary(emptyToNull(an.summary())); operation.setDescription(emptyToNull(an.description())); + if (Boolean.TRUE.equals(an.deprecated())) { + // leave deprecated false as NULL to reduce openapi noise + operation.setDeprecated(true); + } }); if (operation.getDescription() == null) { operation.setDescription(javadoc.getDescription()); diff --git a/tests/test-javalin/src/main/java/org/example/myapp/web/HelloController.java b/tests/test-javalin/src/main/java/org/example/myapp/web/HelloController.java index 2d3bb523..854d7ac1 100644 --- a/tests/test-javalin/src/main/java/org/example/myapp/web/HelloController.java +++ b/tests/test-javalin/src/main/java/org/example/myapp/web/HelloController.java @@ -76,6 +76,7 @@ HelloDto hello(int id, LocalDate date, String otherParam) { * @return The Hellos that we found. */ @Roles(AppRoles.ADMIN) + @Operation(operationId = "findByName") @Get("/findbyname/{name}") List findByName(String name, @QueryParam("my-param") @Default("one") String myParam) { return new ArrayList<>(); diff --git a/tests/test-javalin/src/main/resources/public/openapi.json b/tests/test-javalin/src/main/resources/public/openapi.json index d20624db..e9b20404 100644 --- a/tests/test-javalin/src/main/resources/public/openapi.json +++ b/tests/test-javalin/src/main/resources/public/openapi.json @@ -351,6 +351,7 @@ ], "summary" : "Find Hellos by name", "description" : "", + "operationId" : "findByName", "parameters" : [ { "name" : "name",