Wie aktiviere ich die Bean-Validierung (@Valid) für WebSocket-Endpunkte in Jakarta EE?Java

Java-Forum
Guest
 Wie aktiviere ich die Bean-Validierung (@Valid) für WebSocket-Endpunkte in Jakarta EE?

Post by Guest »

Ich arbeite derzeit an einer Jakarta EE-Anwendung, in der ich sowohl REST- als auch WebSocket-Endpunkte habe. Für meine REST-Endpunkte verwende ich @Valid, um eingehende JSON-Nutzlasten zu validieren, und es funktioniert perfekt mit Jakarta Validator.

Code: Select all

@POST
@Path("/process")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response handlePayload(@Valid EdgeDeviceDTO edgeDeviceDTO) {
// Processing logic
}

Dies funktioniert wie erwartet, da alle relevanten Objekte mit den Annotationen @NotNull, @NotEmpty usw. validiert werden.
Für meine Websocket-Verbindung scheint dies jedoch nicht der Fall zu sein zu meiner Forschung existieren:

Code: Select all

@ServerEndpoint("/ws/process")
public class WebSocketController {

@OnMessage
public void onMessage(String message, Session session) {
try {
EdgeDeviceDTO edgeDeviceDTO = objectMapper.readValue(message, EdgeDeviceDTO.class);

// Proceed with business logic...
} catch (Exception ex) {
sendError(session, "Error processing message: " + ex.getMessage());
}
}
}

Ich verwende import jakarta.validation.Valid;
Wie kann ich für meinen WebSocket-Endpunkt das gleiche Verhalten wie @Valid erreichen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post