Was ist ObjectMapper? ObjectMapper ist die Hauptdarstellerklasse in der Jackson-Bibliothek. Die ObjectMapper-Klasse bietet die Möglichkeit, JSON in und aus einem einfachen POJO (Plain Old Java Object) oder einem generischen JSON-Baummodell (JsonNode) zu lesen und zu schreiben sowie zugehörige Funktionen zum Durchführen von Konvertierungen. Es funktioniert auch mit beiden verschiedenen Stilen von JSON-Inhalten und kann stark angepasst werden, um erweiterte Objektkonzepte wie Polymorphismus und Objekt-IDs zu unterstützen. ObjectMapper fungiert auch als Factory für die erweiterten Klassen ObjectReader und ObjectWriter. ** * Einfach gesagt? ** Jacksons ObjectMapper ist eine Klasse, die das Parsen von Java Objec ↔ Json vereinfacht.
Dieses Mal erstelle ich eine Chat-Anwendung mit WebSocket. Geben Sie den Quellcode des von Ihnen verwendeten Teils frei.
@Slf4j
@RequiredArgsConstructor
@Service
public class ChatService {
//Erklärung
private final ObjectMapper objectMapper;
private Map<String, ChatRoom> chatRooms;
@PostConstruct
private void init() {
chatRooms = new LinkedHashMap<>();
}
public List<ChatRoom> findAllRoom() {
return new ArrayList<>(chatRooms.values());
}
public ChatRoom findRoomById(String roomId) {
return chatRooms.get(roomId);
}
public ChatRoom createRoom(String name) {
String randomId = UUID.randomUUID().toString();
ChatRoom chatRoom = ChatRoom.builder()
.roomId(randomId)
.name(name)
.build();
chatRooms.put(randomId, chatRoom);
return chatRoom;
}
public <T> void sendMessage(WebSocketSession session, T message) {
try {
//Persing
session.sendMessage(new TextMessage(objectMapper.writeValueAsString(message)));
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
}
Json wird normal zurückkommen.
Im WebSocket-Test wird übrigens Folgendes verwendet. Simple WebSocket Clinet
Der Quellcode lautet wie folgt. https://github.com/twan65/websocket-exam
Recommended Posts