ObjectMapper 클래스

6170 단어 메모자바초보자

ObjectMapper란?



ObjectMapper는 Jackson 라이브러리의 주요 액터 클래스입니다. ObjectMapper 클래스는 기본 POJO(일반 올드 Java 객체) 또는 범용 JSON 트리 모델(JsonNode) 사이에서 JSON을 읽고 쓰는 기능과 변환을 수행하는 관련 기능을 제공합니다.

또한 다양한 스타일의 JSON 콘텐츠 모두에서 작동하며 다형성 및 객체 ID와 같은 고급 객체 개념을 지원하도록 고도로 사용자 정의할 수 있습니다. ObjectMapper는 보다 고급 ObjectReader 및 ObjectWriter 클래스의 팩토리로도 작동합니다.

※ 간단히 말하면?
Jackson의 ObjectMapper는 Java Objec↔Json 파싱을 간단하게 해주는 클래스입니다.

사용해 보았다!



이번에는 WebSocket을 사용하여 채팅 응용 프로그램을 만들고 있습니다.
실제로, 사용하고 있는 부분의 소스 코드를 공유합니다.

@Slf4j
@RequiredArgsConstructor
@Service
public class ChatService {
  // 宣言
    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 {
       // パーシング
            session.sendMessage(new TextMessage(objectMapper.writeValueAsString(message)));
        } catch (IOException e) {
            log.error(e.getMessage(), e);
        }
    }
}

결과





성공적으로 Json이 돌아옵니다.

※덧붙여서, WebSocket 테스트로 사용하고 있는 것은 이하입니다.
Simple WebSocket Client

※소스 코드는 이하가 됩니다.
htps : // 기주 b. 코 m / 토 65 / ぇ b 소 c t 에 m

좋은 웹페이지 즐겨찾기