안녕하세요. @ControllerAdvice로 예외처리를 하는 부분에서 궁금증이 생겨 질문남기게 되었습니다. @RequestBody를 통해 값을 받는 요청들은 @ExceptionHandler(MethodArgumentNotValidException.class) 설정을 통해서 예외처리를 할 수 있는데, @ModelAttribute를 통해서 값을 받는 요청들은 ControllerAdvice에서 어떠한 Exception을 통해 걸러서 예외처리를 해야하는지 감이 잡히지 않습니다. @ModelAttribute를 통해 값을 받는 경우 어떠한 방식으로 공통예외처리를 할 수 있는 걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 갑자기 화면에 저것만 계속뜨고 실행되지않아요,, 지우고 깔아봤는데도..
안녕하세요. 강의 잘 듣고 있습니다. addForm.html을 공부하다가 이 부분에서 궁금한 점이 생겼는데요. th:field는 id, name, value를 채워주니까 th:value= "${region.key}" 를 지우고 실행해보니 아예 화면 자체가 오류창으로 나오더라구요. 위에 체크박스를 공부했을 때는 자동으로 value = "true"가 들어가던데 여기서는 왜 문제가 생기는건가요? 추가로 checkbox는 value값과 상관없이 선택이 되면 regions=on 이렇게 가야하는 것 같은데 여기서는 왜 value값이 대입이 되어서 regions=SEOUL, regions=BUSAN 이렇게 들어가는지 헷갈리네요 ㅠ
안녕하세요 강의를 복습하다가 궁금한 점이 생겨서 질문 남깁니다! MemberRepository 클래스에서 저장소에 저장하는 메서드의 반환타입이 Member일 필요가 있나요? Map 에 put 만 하면 저장소의 기능은 끝난다고 생각하고, 강의에서도 save의 반환타입을 이용하지 않는것 같아서요 감사합니다.
현재 챕터07 접근제어자(후반전) 까지 강의를 들었고 퀴즈도 다 풀어냈습니다. 그런데 public, class, static, void 등을 조합해서 코드 앞부분에 쓰는데 언제 어떻게 왜 조합해서 저것들을 붙이는 건지 정확한 개념을 잘 모르겠습니다. 이럴때는 강의를 다시 돌려보며 개념을 알고 가야하나요? 아니면 그냥 강의 쭉 들으면서 서서히 익히면 되는건가요 유튜브 영상으로 9시간 다 보고 인프런 결제했는데 갑자기 진행속도가 너무 빨라진 듯한 느낌이 듭니다. 유튜브 기초 9시간때는 이해하면서 잘 들었는데 지금은 코드 따라적기 바쁘네요ㅠㅠ
아래는 customer/createCustomer.html 일부입니다. 강의를 듣고 th:action 을 적용시켜봤는데요 1.controller-> getmapping / postmapping 모두 같은 url 로 설정 2.customer/createCustomer.html -> th:action 기입 두 조건을 다 넣어줬는데 post mapping 에서 받아오는 form 에서 carNum 이 중복되어 (ex: 1111->1111,1111) 나타납니다. 아래는 오류가 발생했을때 웹페이지 정보입니다. query string parameter 와 form 에서 중복으로 데이터를 가져옵니다. th:action -> th:action=@{/main/findCustomerByCarNum} 수정하면 중복되는 오류가 사라지구요.. 혹시 th:action 사용시 getmapping에서 @RequestParam (name = "carNumber") String carNumber (사진 빨간 밑줄) 같은 것들이 있으면 저처럼 중복되는 오류가 생길수 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 컨트롤러를 만들때 문자로 반환해도 뷰이름으로 알고 프로세스가 진행된다고 하는데 반환타입이 String일때 어댑터에서 자동으로 ModelAndView로 변환해서 저렇게 사용할 수 있는건가요? 컨트롤러에 반환타입을 String 말고 다른것으로 설정해줘도 사용이 가능한건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 현재 프로그램 환경설정의 빌드하고 실행하기까지 했는데 여기서 cmd로 실행하는걸 하는데 왜 cmd로 실행하는 건가요??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의 설명중 이해가 안되서 질문드립니다.! 1:36 설명에서 수정에서 데이터를 바꾼다음에 다시 제목을 눌렀을 때 수정이 되지 않은 내용이 textarea에 보인다고 하셨는데 수정을 하면 DB에 수정내용이 반영되서 다시 제목을 누르면 바뀐 내용이 보이는 상황 같은데요 content 부분만 ajax로 다시 갖고 오는게 이해가 잘 되지 않습니다. 만약에 list로 보여지는 내용 별도의 내용을 더욱 보여줘야 한다면 상세보기를 하는게 맞는거 같은데 현재 예제에서 content 부분만 따로 갖고오는게 이해가 잘 안되네요
이 부분에서 em.persist(team) 을 한 후 회원 저장 구현을 한 후 em.persist(member) 를 했는데 회원 구현 이후에 em.persist(team) 를 해도 되나요? 회원 저장 구현 전에 em.persist(team) 를 해야 하는 이유가 있나요?
안녕하세요 MemberRepositoryTest 실행시 저런 오류가 떠서 여러 해결 방안을 실행했지만 해결이 안되어 질문드립니다. 저는 인텔리제이 무료버전을 사용하기 때문에 Gradle로 초기 설정을 햇고, build.gradle 에서 다음과 같은 코드를 주석처리 하였습니다. 하지만 아직도 계속 오류가 떠서 질문 올려봅니다..ㅜ >> 코드는 정확히 작성했고, 2~3번의 검토로 코드는 오류가 아닙니다.
if (factoryCam instanceof FactoryCam) { (FactoryCam)factoryCam; } 이 구문에 혼동이 생겨서 질문드립니다! if 안에 조건문의 내용이 " factoryCam 이 FactoryCam 클래스의 인스턴스가 맞다면 " 이라고 설명을 해주셨는데요 (8분 27초경) 만약에 factoryCam 이 FactoryCam 클래스의 인스턴스가 맞다면 형변환이 필요 없는거 아닌가요? 또 헷갈린거 하나 더 문의드립니다. 다형성에 대한 예시를 위해 작성해주셨던 코드 내용인데요. Camera factorycCam = new FactoryCam(); 만약에 위 코드로 작성한게 부모클래스인 " Camera" 로 객체를 생성한 거라면, factoryCam 의 참조 클래스는 Camera 인 것 같은데요. (그러니까 FatoryCam 의 인스턴스 메서드를 불러왔을 때 에러가 나는 것으로 보이구요.) 근데 이 설명과 "factoryCam instanceof FactoryCam" 이 구문이 " factoryCam 이 FactoryCam 클래스의 인스턴스가 맞다면 " 이라고 설명을 해주시니 상충되는 내용이 아닌가 싶어 혼동이 옵니다. 내용 요약 factoryCam 은 부모 클래스로 만들어진 객체라서 FactoryCam 의 인스턴스 메서드를 사용할 수가 없다고 설명을 해주셨습니다! 헌데 if 조건문은 "factoryCam 이 FactoryCam 클래스에 포함되어 있다면 " 이라고 설명해주신 부분이 상충되지 않나 하여 헷갈립니다. 그리고 2번에 내용처럼 만약 factoryCam 이 FactoryCam 클래스에 이미 포함되어 있다면, 굳이 형변환을 하지 않고도 detectFire 메서드를 호출할 수 있어야 하지 않는지..? 제가 개념을 잘못 이해하고 있을 것 같은데, 혹시 설명을 좀 부탁드려도 될까요? 이 부분에 자꾸 혼동이 생겨서 다음으로 넘어가기가 어렵네요 🤣 ps. 이전에 강사님 파이썬 강의로 난생 처음 태어나 클래스란 개념을 이해했던 수강생으로써, 이번 자바편도 개인적으로 큰 도움되고 있습니다. 감사합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 여기에 질문 내용을 남겨주세요. 상품 도메인 개발 12분 에 ItemRepositoryTest 안에 @Test void save() 메소드를 보면 public Item save(Item item) { item.setId(++sequence); store.put(item.getId(), item); return item; } @Test void save() { //given Item item = new Item("itemA", 10000, 10); //when Item savedItem = itemRepository.save(item); //then Item findItem = itemRepository.findById(item.getId()); assertThat(findItem).isEqualTo(savedItem); } Item item 객체생성을 하고 itemRepository.save (item); 리포지터리save메소드를 호출해서 id 값 set하고 map에저장하고 item 을 그대로 반환하자나요 그리고 test save() 에서 Item savedItem 으로 받고요 그럼 savedItem 은 item 을 참조하는거 아닌가요? savedItem 을 받지 않고 그냥 item 을 사용하는거와 다른가요? 예를들어 assertThat(findItem).isEqualTo(savedItem); 대신 assertThat(findItem).isEqualTo(item); 하는거와 같은거 아닌가요? 왜 새로 변수를 만들어주는 것인지 궁금합니다. 초보라 혼란해서 이해가잘안가서요 ㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요? 윈도우 유저인데 cd 커맨드를 쳐서 cmd에서 spring-hello가 있는 디렉토리까지 가는 것은 성공했으나 gradlew.bat을 실행시키려고 보니 ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 이 뜨는데 어떤 조치를 취해야할까요? 감사합니다.
기존에 개발 공부 했을 때는 체크박스 속성에 value="hobby1" value="hobby2" value="hobby3" 이렇게 넣어서 사용했거든요. 그럼 값 잘 넘어가고 그랬는데 boolean으로 해서 true, null 이렇게 하는 이유가 있나요? 궁금해서 글 남겼습니다.