선생님 예외쪽 수업을 계속 듣다가 예외를 변환할 때 기존 예외를 꼭 포함하기 위해 기본 생성자인 public MyDbException() { } 를 안만들고 나머지만 만들어서 이러한 상황이 안나오게 하는게나아보인다는 생각이 들었는데 이렇게 하는 건 뭔가 안좋은게 있거나 하는건가요? 실무에서는 어떻게 하는지도 궁금합니다..!
url을 입력하면 html 결과는 잘나오는데 F12를 누르면 Failed to load resource: the server responded with a status of 404 () 이 나오고 postman도 post가 안됩니다 (파일 못찾았다는 오류 나옴) 구글에 검색해보니까 경로를 잘못적어서 그렇다는 코드를 복사,붙여넣기 해도 결과가 같습니다. https://drive.google.com/drive/folders/1vPtaYt8DfDZ6Rb2Saldp3z4jHVnlEqF-?usp=sharing 파일 올립니다.. 참고로 console 창에 자세하게 결과가 나오는 코드는 유료버전부터 사용가능해서 입력하지 않았습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JdbcTemplateRepository를 작성하고 통합테스트를 진행하였는데 결과가 AssertionFailedError 가 발생하였습니다, 기대값은 19인데 spring으로 되었다고 하는것 같은데 어떤점이 문제일까요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 6:32 에서 단순 테스트 코드이고 jpa 사용하지않았는데 JpaTransactionManager 가 주입 되는 이유는 먼가요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 예외처리 부분을 듣고 궁금한 점이 있어 질문 남깁니다. 강의에서 하위 레벨의 체크 예외가 서비스, 컨트롤러로 올라오는 것이 문제라고 하셨는데, 리포지토리와 같이 해당 예외가 직접 발생하는 곳에서 try~catch로 잡아서 처리하면 상위 레벨로 올라오지 않을텐데 그렇게 처리하지 않는 이유는 뭔가요? 어차피 대부분 복구 불가능한 예외라 시스템 상에서는 로그를 남기는 것 밖에 하지 못하고, 왜 하위 레벨에서는 처리하지 않는지 궁금합니다. 밖으로 던져서 공통으로 처리할거면 리포지토리에서 처리해도 공통으로 처리되는 효과가 있는게 아닌지.. 동일한 리포지토리를 여러 서비스에서 사용할 때 비즈니스 로직에 따라 같은 리포지토리 메서드여도 다른 오류 메세지를 보여줘야 해서 그런걸까요..?
[질문 내용] 강의에서는 이와 같은 페이지를 만들고 끝나는데 실제 고객이 이런 페이지를 마주치게 된다면 메인 페이지로 이동 버튼을 두어 되돌아가게 하는 형태로 사용하게 되는지 또는 다시 구글에 검색해서 다시 사이트를 들어간다던지 등 어떤식으로 고객이 사용할 수 있도록 구성해야 되는지 질문드립니다.
@Override public Member findById(String memberId) { String sql = "select * from member where member_id = ?"; return template.queryForObject(sql, memberRowMapper(), memberId); } private RowMapper<Member> memberRowMapper() { return (rs, rowNum) -> { Member member = new Member(); member.setMemberId(rs.getString("member_id")); member.setMoney(rs.getInt("money")); return member; }; } 이 코드에서, 1. 해당 람다식은 파라미터로 rs와 rowNum을 받아서, 중괄호 부분을 실행한후 결과를 리턴하는것인가요? 그렇다면 rowNum의 역할은 무엇인지 궁금합니다. 또, 람다 내부의 rs와 rowNum 파라미터의 매개값은 어떻게 대입되는것인가요 ..? 람다식부분이 이해가 되지않아서 질문드립니다. 2. 이 코드에서 return member;를 하면 Member객체가 반환되는데 실제 리턴타입은 RowMapper<Member>로 되어있는데 어떻게 RowMapper<Member>타입으로 반환될수 있는것인지 질문드립니다. 3. queryForObject()의 리턴타입은 Member인데, 어떻게 Member가 되는것인가요 ?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 트랜잭션 때문에 이렇게 복잡하고, 긴 여정을 떠나왔는데, 그냥 String sql = 에다가 트랜잭션 문장을 넣으면 안되나요? 그렇게 해서, 그냥 repository에 송금 트랜잭션 메소드를 넣으면 더 간편하지 않나요? SRP를 위반해서 그렇게 하지 않는 것 인가요?
아래 코드 추가 @MapperScan("hello.itemservice.repository.mybatis") @Configuration @RequiredArgsConstructor @MapperScan("hello.itemservice.repository.mybatis") public class MyBatisConfig { private final ItemMapper itemMapper; @Bean public ItemService itemService() { return new ItemServiceV1(itemRepository()); } @Bean public ItemRepository itemRepository() { return new MyBatisItemRepository(itemMapper); } }
resources 폴더에서 폴더를 하나씩 생성해야합니다. 한번에 폴더를 생성하면 오류가 발생합니다. (예: hello.iteamservice.repository.mybatis) 강사님 만들어두신 프로젝트의 폴더를 복사 붙여넣기해도 오류가 발생합니다. 올바른 예시) hello 폴더 생성 itemservice 폴더 생성 repository 폴더 생성 mybatis 폴더 생성 ItemMapper.xml 파일 생성
안녕하세요! 제가 질문의 의도를 명확히 드러내지 못한 것 같아 내용을 추가하여 재 질문 드립니다. https://www.inflearn.com/community/questions/1369485/exceptionresolver-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC-%EC%A7%88%EB%AC%B8%EC%9D%B4-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 <제가 생각한 json 결과> { "timestamp": "2024-09-07T16:52:16.664+00:00", "status": 400, "error": "Bad Request", "path": "/api/members/bad" } resolver에서 IllegalArgumentException을 해결을 하였고 sendError로 흐름을 바꾸었으니 순수 sendError(400)의 결과인 위 json과 같이 나와야 한다고 생각하였습니다. <흐름도> Controller 에서 IllegalArgumentException 발생 -> ExceptionResolver 실행 -> IllegalArgumentException 해결 후 sendError로 변경 -> BasicController 호출 후 sendError의 결과인 위의 json 반환 따라서 에러를 해결하였기 때문에 IllegalArgumentException 정보는 없고 sendError 정보만 있다고 생각합니다. 실제 출력에는 어찌 IllegalArgumentException 정보가 json에 출력되는지 궁금합니다. 에러를 해결 했더라도 그 정보를 다른 객체로 가지고 있고 나중에 활용하는 것 일까요?? 좋은 강의 만들어 주셔서 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 섹션 8에서 컨트롤러에서 response.sendError()을 사용해서 WAS까지 오류 정보를 전달 하는 것으로 생각했습니다. 그런데 섹션 9를 공부하면서 ExceptionResolver 코드를 확인해보면 결국 내부적으로 response.sendError() 를 호출한 다는 것을 알게 되었습니다. 이는 response.sendError()를 사용하는 것이 WAS까지 오류 정보를 전달하는 역할을 하는 것이 아니라고 이해하면 될까요? 그렇다면 어떻게 위 그림의 sendError흐름이 만들어지는 걸까요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. jsp 페이지가 인식되지 않습니다. /jsp/members/new-form.jsp gradle gradle 적용후 새로 적용했고 했고 서버도 재시작 했는데 jsp 페이지 접근이 안됩니다. index.html 정상 접근됩니다.