Wie man nicht mit dem Message Body in Java Quarkus nicht mit dem Message ausgehört wirdJava

Java-Forum
Anonymous
 Wie man nicht mit dem Message Body in Java Quarkus nicht mit dem Message ausgehört wird

Post by Anonymous »

Ich habe derzeit das Problem, dass ich nach einem Artefakt in Jenkins suche. Wenn dieses Artefakt nicht gefunden werden kann, sollte ein 404 zurückkommen. Bisher funktioniert das ganz gut. Leider erhalte ich keine Nachricht und nur den Fehlercode 404 zurück. Ich möchte eine Nachricht mit weiteren Informationen zurückgeben. < /P>
Hier ist mein Code.@GET
@Path(API_RESOURCE_IMAGE_REPORT)
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_HTML)
@Operation(summary = "", description = "")
@APIResponses(
value = {
@APIResponse(
responseCode = "200",
description =
"Request successful",
content = @Content(mediaType = MediaType.TEXT_HTML)),
@APIResponse(
responseCode = "404",
description = "Resource not found ",
content =
@Content(
mediaType = MediaType.APPLICATION_JSON,
schema = @Schema(implementation = NotFoundException.class))),
})
public Response getReport(@Parameter(
description = "",
required = true)
@PathParam("imageName") final String imageName,
@Parameter(description = "", required = true)
@PathParam("tag") final String tag,
@Parameter(description = "")
@PathParam("type") String type
) {

InputStream report = jenkinsClient.getReport(imageName, tag, type);

return Response.status(HttpURLConnection.HTTP_ACCEPTED).entity(report).build();
}
< /code>
Jenkinsclient: < /p>
public InputStream getReport(final String imageName, final String tag, final String type) throws NotFoundException {

try {
final int lastSuccessfulBuildnumber = jenkinsClient.api().jobsApi().jobInfo(imageName, tag).lastSuccessfulBuild().number();
LOG.info("Last successful buildnumber: " + lastSuccessfulBuildnumber);

final InputStream report = jenkinsClient.api().jobsApi().artifact(imageName, tag, lastSuccessfulBuildnumber, Objects.equals(type, "image") ? "trivy_image_report.html" : "trivy_Dockerfile_report.html");

if (report == null) {
throw new NotFoundException("No dockerfile or image report found");
}

return report;

} catch (Exception e) {
throw new NotFoundException("No dockerfile or image scan report found");

}
}
< /code>
Ich habe einen 404 mit einer Meldung "Nein Dockerfile oder Bildscan -Bericht gefunden" erwartet. Aber ich habe nur 404 ohne Nachricht bekommen, wenn ich kein Artefakt finde. Ich habe die "javax.ws.rs.notfoundException" für NotFoundException verwendet.
Danke für die Hilfe

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post