[JAVA]

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.

Ich habe es versucht!

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);
        }
    }
}

Ergebnis

image.png

Json wird normal zurückkommen.

Recommended Posts