-
79일차 - RESTful백엔드(웹 서버, WAS)/Spring Boot 2024. 5. 23. 12:04
RESTful 문자열을 자바 참조형으로 변환하기
@GetMapping(value="/rest/strMap.ajax") public Map<String, Object> strMap() throws Exception { // JSON 형태의 문자열 (다른 서버에 요청할 경우 이렇게 JSON 형태의 문자열을 받게 된다) String json = "{\"no\":1, \"msg\":\"HashMap 변환 완료\", \"name\":\"김지훈\"}"; ObjectMapper mapper = new ObjectMapper(); // Map<String, Object> response = mapper.readValue(json, Map.class); // Map 의 제너릭이 지정되지 않아 비효율적이라고 경고한다 // 컴파일러한테 Map 이 어떤 제너릭을 가지고 있는지 알려주어 효율적으로 실행된다 Map<String, Object> response = mapper.readValue(json, new TypeReference<Map<String, Object>>(){}); logger.info("no : {}", response.get("no")); logger.info("msg : {}", response.get("msg")); logger.info("name : {}", response.get("name")); return response; } @GetMapping(value="/rest/strObject.ajax") public UserInfo strObject() throws Exception { // JSON 형태의 문자열 (다른 서버에 요청할 경우 이렇게 JSON 형태의 문자열을 받게 된다) String json = "{\"id\":\"json_ID\", \"name\":\"홍길동\", \"age\":24, \"promotion\":true}"; ObjectMapper mapper = new ObjectMapper(); // Map<String, Object> response = mapper.readValue(json, Map.class); // Map 의 제너릭이 지정되지 않아 비효율적이라고 경고한다 // 컴파일러한테 Map 이 어떤 제너릭을 가지고 있는지 알려주어 효율적으로 실행된다 UserInfo response = mapper.readValue(json, UserInfo.class); logger.info("id : {}", response.getId()); logger.info("name : {}", response.getName()); logger.info("age : {}", response.getAge()); logger.info("promotion : {}", response.isPromotion()); return response; }
AJAX 통신을 통해 받은 문자열을 Jackson 라이브러리가 제공하는 메소드로 변환할 수 있다
실시간 수정 기능 구현
// 항상 요소가 출력되고 나서 이벤트를 걸어줄것! $('input[type="text"]').focusin(function () { $(this).css({"background-color":"white"}); }); // 포커스 아웃 이벤트가 발동되면 다 작성했다고 판단하고 서버에 수정 요청을 보낸다 $('input[type="text"]').focusout(function (e) { $(this).css({"background-color":"lightgray"}); // e.target 이벤트가 걸린 대상을 의미한다 console.log(e.target); console.log($(this)); console.log('서버에 변경 요청'); // 변경된 내용이 있으면 수정 요청을 하도록 만들자 });
'백엔드(웹 서버, WAS) > Spring Boot' 카테고리의 다른 글
81일차 - 인터셉터, 파일 업로드, 다운로드, 스케쥴러 (2) 2024.05.24 80일차 - RESTAPI, Properties 활용, Spring FW 특징, AOP 활용(로그인 처리) (0) 2024.05.23 77~78일차 - Transaction, RESTFUL 개념과 사용 방식 (0) 2024.05.21 76일차 - 로그 설정 및 동적 쿼리 예제 (0) 2024.05.17 75일차 - 스프링부트 환경 구성 및 간단한 예제 개발 (0) 2024.05.16