안녕하세요. 질문 하나 드리겠습니다. 아래와 같은 controller 메서드가 있습니다. public String test(@RequestBody TestDto testDto) { } TestDto안에는 int 타입의 age이란 필드가 있는데요 { "age": "1234a" } 이런식으로 요청을 넘겨주면 TestDto 바인딩 과정에서 문자로 인한 에러가 발생합니다. 저는 이때 이 예외를 감지해서 "나이는 숫자만 입력 가능합니다." 이런식으로 메시지를 반환해 주고 싶은데요 BindingResult를 사용해보니 @ModelAttribute 에서만 가능한 것 같습니다. @RequestBody 사용시 이렇게 바인딩 오류가 발생하는 경우를 제어할 수 있는 방법이 있을까요? 답변 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 아랫분의 질의응답을 참고하여 하려고 했지만 코끼리 아이콘을 누르면 재빌딩을 할 뿐 setup 관련 아이콘은 뜨지 않습니다.
mysql cmd로 서버연결하는거 안되네요 오류가 자꾸 나요 cmd창이 아주 순식간에 떳다가 사라져요 그래서 동영상으로 찍고 캡쳐했어요 해결방법 찾아보는데 너무 힘들어서 질문 올립니다 ㅠ 아 참고로 맥북에 부트캠프로 윈도우 사용중입니다 그래서 그런걸까요? 그냥 cmd랑 mysql 전부 다 잘 되는데 저것만 실행이 안되네요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. html 관련 코드 복붙하고 실행하면 이렇게 뜨는데 왜 이런건가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 다음과 같이 오류가 나는데 어떻게 해야할까요 ?
안녕하세요. 현재 회사에서 일하고 있는 초보개발자입니다. 현재 강사님의 로드맵을 따라서 모든 강의를 사서 차근차근 보고있는 중인데, 현재 회사에서 스프링으로 신규 프로젝트를 진행할 것 같아서 스프1탄을 먼저 보려고 하는데, 나프1탄과 나프2탄을 필수적으로 보고 스프1탄을 봐야할까요? 나프1탄과 나프2탄은 보기에는 시간적으로 여유가 많이 없을 것 같아서 질문드립니다ㅠ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] HTTP 요청 데이터 -API 메시지 바디 -단순텍스트 강의를 듣고 영한님이 작성하신 코드대로 RequestBodyStringServlet을 만들었습니다. 그런데 호환성 문제인지 갑자기 ServletApplication이 실행이 안 됩니다. RequestBodyStringServlet을 삭제하거나 주석 처리하면 다시 잘 동작하고요. 왜 이러는지 알 수 있을까요? 혹시 몰라 build.gradle 스크린샷도 첨부합니다.
강의 자료에 다음과 같이 되어있습니다. 그런데 스프링부트 3.10버전에 java 17을 쓰고 있는데요, 저는 일단 xxxxxx_ATTRIBUTE로 해야 되네요, 그리고 javax. xxx 가 아닌 jakarta로 하니까 되는데, 혹시 제가 잘못찾은걸까요? 버전의 문제일까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 실행 버튼이 생기지 않는데, 어떻게 해야할까여 ? ㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. null값이 들어올때의 오류를 방지하기 위해 optional로 감싸준다고 하셨는데 왜 List<Member> findAll();에서는 Optional로 감싸주지 않는건가요?
https://www.inflearn.com/questions/328457/mysql-root-%EB%B9%84%EB%B2%88 위 학생과 정확히 같은 문제를 겪고 있습니다. 기존에 mysql 이나 oracle 도 깔려있지 않은 상태에서 전자 정부 프레임워크를 새로 깔았습니다.(다만, 수업과 같은 버전이 서비스 종료되어 eGovFrame-4.0.0 로 깔았음) 위처럼 Enter password: 까지 잘 접근 했는데 엔터를 누르니 1045 에러가 뜹니다.오타 문제는 아닙니다ㅜㅜ MySQL 5.7 버전부터 임의의 문자열로 초기 비밀번호가 설정돼 있다는 이야기도 있더라고요.. 여하튼..빨리 진도 나가고 싶습니다! 빠른 해결 부탁드립니다..ㅜㅜ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 내쉬혼 자바스크립트 런타임이 이제 jdk 17에서부터 deprecated 되면서 더이상 지원을 하지 않게 됬지만 그래들로 임시방편이더라도 build.gradle에 implementation ("org.openjdk.nashorn:nashorn-core:15.3") 로 강제로 연명은 아직 가능합니다.. 근데 내쉬혼이 현 자바스크립트 런타임이랑은 좀 머니 최신 자바스크립트 런타임 가진 graalVM 을 임포트해 와서 CustomScriptAssertValidator 클래스를 만들어 @Bean 등록을 하고 싶은데 어렵네요..
======================================== [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 :) validation파트 강의를 듣는 도중 bindingResult, FieldError등 SSR기술을 활용한 thymleaf, jsp와 같이 하나의 project에 front, back-end가 같이 설정되어 사용하는 경우에만 해당 기술 활용 시 제일 효율적이고 다른 vue, react.js같은 경우에는 해당 기술을 활용하기 어려울 것으로 판단이 되는데요 맞을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 예 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 3가지 오류가 있다는데 하란대로 했는데 왜 안되는지 모르겠어요. 시작부터 난관이라 너무 스트레스받네요.. C:\Program Files\spirngboot\pulsar-spring\.gradle\7.6.1\fileChanges\last-build.bin (지정된 경로를 찾을 수 없습니다) Failed to create parent directory 'C:\Program Files\spirngboot\pulsar-spring\.gradle' when creating directory 'C:\Program Files\spirngboot\pulsar-spring\.gradle\vcs-1' Could not update C:\Program Files\spirngboot\pulsar-spring\.gradle\7.6.1\fileChanges\last-build.bin 이렇게 세가지가 나옵니다. 어떻게 해야할까요.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] spring-boot-starter-validation 라이브러리가 Spring Boot에서 LocalValidatorFactoryBean을 글로벌 Validator로 등록해서 애노테이션 검증을 수행한다라는 내용에 대해 말씀해주셨습니다. 영한님께서 이런 동작 원리에 대해 접근하실 때 어떻게 접근하시는지요? 동작 원리에 대해서는 공식 문서에서도 찾기가 힘들지 않나 싶습니다. 영한님의 접근 방식을 알고 싶습니다. External Libraries에서 의존성 라이브러리 안에 있는 클래스를 보신다던지.. 직접 IDE로 디버깅을 해보신다던지.. 감사합니다.
@PostMapping(value = "/upload") public ResponseEntity<String> saveFile(@RequestPart List<MultipartFile> files) { log.info("files={}", files); if (files==null || files.isEmpty()) { // 파일이 없는 경우 check JSONObject response = new JSONObject(); response.put("message", "Fail! Re-upload the file"); return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(response.toString()); } //정상 로직 } 안녕하세요. 영한 님 강의 보고 따라서 한 번 해보고 혼자 해보다가 궁금한 게 생겨 질문드립니다. 여러 개의 파일을 업로드 할 수 있게 List 타입으로 받았고 만약 업로드한 파일이 없다면 if 문을 탈 수 있게 예외 처리를 했습니다. 현재 포스트맨으로 -headers의 content-type을 Multipart/form-data -body의 key에는 "files"를 value에는 파일을 선택하지 않고 테스트하고 있습니다. 그럼 당연히 files는 비었을 것이라고 전제를 두었지만, 디버깅해 보니 if 문이 false를 반환하고 files[0]=""(빈 문자열)을 뱉어내고 정상 로직을 수행하더군요. 여기서 질문이 있습니다. 1. value에 파일을 선택하지 않았다고 해서 빈 파일이 생기는 것이 아닌 포스트맨에서 자체 동작으로 빈 파일 = 빈 문자열로 대체해서 넣어주는 지 (제가 포스트맨 동작 방식을 모르고 있는 걸까요?) 2. 빈 파일을 보내면 Multipart/form-data의 요청 특성으로 빈 문자열("")이 전송되는 걸까요? 이게 맞는다면 멀티파트 형식을 유지하기 위해 빈 파일이나 빈 파트가 생성되어 전송되는 것일까요? 3. list 타입 대신 하나씩 file을 받아오는 게 좋을까요? 강의를 볼 땐 이해가 되면서도, 뭐가 맞는지 헤매고 있습니다.. 코드면에서 문제였다면, 키워드라도 알려주시면 찾아보겠습니다. 긴 글 읽어주셔서 감사합니다.