[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
안녕하세요, 과제를 마쳤는데 더 효율이 좋은 코드가 있을 것 같아서 리뷰 좀 부탁드립니다. name과 joinDate를 바꿔봤습니다. public User updateUser ( int id , User user ) { User updateUser = findOne ( id ) ; if ( findOne ( id ) != null ) { updateUser.setName ( user.getName () ) ; updateUser.setJoinDate ( new Date () ) ; return updateUser ; } return null; } UserDaoService.java @PutMapping ( "/users/{id}" ) private User updateUser ( @PathVariable int id , @RequestBody User user ) { User updateUser = service .updateUser ( id , user ) ; if ( updateUser == null ) { throw new UserNotFoundException ( String. format ( "ID[%s] not found" , id ) ) ; } return updateUser ; } UserController.java | 설명 Controller : Path와 RequestBody에 있는 id와 user 값을 받는다. Controller : UserDaoService에 있는 updateUser()메소드로 id와 user를 파라미터로 넘겨준다 Service : findOne() 메소드를 통해 id에 대한 정보를 가져온다. Service : findOne()에 맞는 정보가 없을 때 null이 뜨게 되면 null이 리턴되게 해주고, null이 아니라면 update 로직을 그대로 이어나간다. Controller : 불러온 아이디에 setter를 통해 RequestBody에 있던 user 정보를 담아주고 리턴한다. Controller : updateUser() 메소드에서 리턴해 온 정보가 null이면 NotFoundException을 뱉는다. | 테스트 http://localhost:8088/users/1 { "id" : 1 , "name" : "hi" , "joinDate" : "2022-07-04T16:08:52.467+00:00" } 테스트는 성공 | 의문 RequestBody에 요청 정보를 다 적어주면 굳이 PathVariable를 사용해야 하나 싶습니다. 지금 이 코드를 사용했을 때 RequestBody에 들어간 id 정보가 필요 없다는 것도 찝찝합니다. 코드가 틀렸거나, 설명을 참고하여 제가 잘 못 알고 있는 점이 있다거나, 개선점이 있다면 알려주시면 감사하겠습니다. 다른 과제 글 찾아보니 JPA로 하라는 말씀도 하시는 것 같은데 JPA말고 수업 중 사용한 본연의 코드 정도만 활용해서 해보고 싶습니다. 감사합니다.!
배포 관련해서 공부를 하다가 문득 궁금한 점이 있는데 그냥 CRA로 구성한 리액트 앱(SSR 없을 시)의 경우 정적 파일만 받아오고 요청은 브라우저에서 하니까 굳이 aws에 올리지 않고 netlify나 vercel 같은 서비스를 사용하면 간편하게 배포 가능하지만 Next.js 경우 내부에 서버 사이드를 구현해야 하기 때문에 aws ec2에 서버를 배포하는 것으로 이해했습니다. (이렇게 이해해도 되는지 궁금하네요) 그런데 공부하다 보니 vercel 로도 SSR 배포가 가능한 것 같다라구요 실무에서는 aws가 많이 쓰인다고 하셨는데 저런 vercel 같은 호스팅 서비스를 이용하는 거랑 어떤 차이가 있는지, 비용이나 성능면에서 더 aws가 더 좋은 점이 있는건지 궁금합니다.
안녕하세요 선생님들 :) 사이드프로젝트로 react와 GraphQL을 공부하여 Gatsby로 블로그를 개발중에 있습니다. 다음 추가기능으로는 질문답변 기능을 넣어보고싶어서요 그러려면 로그인 기능도 필요할테고, 그러면 동적 코드들이 많아질것 같은데요 생각하는 기능들을 추가하려면, (내 질문글 보기, 내 답변 보기등등.. 그러면 매우 동적인 프로필컴포넌트도 추가될것같구...) 굳이 개츠비에서 업그레이드하는게 맞나? 하는 생각도 드는데요. 만약 다른 프레임워크를 찾아본다면 프론트, 서버, 호스팅, 배포단에서 추천해주실만한 프레임웤이나 인프라가 있을까요? 툭툭 던져주시면 자세한건 제가 찾아보면서 공부해보겠습니다! 고수님들 조언 부탁드려요 ㅠ-ㅠ
TypeError: null is not an object (evaluating 'ImageResizerAndroid.createResizedImage') [TypeError: null is not an object (evaluating '_reactNative.NativeModules.ImageResizer.createResizedImage')] 이렇게 에러가 나는데요 설정은 동일하게 한거 같은데..왜 저런 에러가 날까요? LOG orientation 1
그랩님 안녕하세요! 강의 잘 듣다가 문제가 생겨 글 올립니다. 강의 대로 소스코드를 작성 하였는데 url에 /product 또는 /upload를 입력하여도 화면이 변환되지 않고 그대로 입니다. 그랩마켓 메인화면에서 아무리 새로고침을 해도 상품설명 페이지나 업로드 페이지로 넘어가지 않습니다. 이럴때는 어떻게 해야되나요? 너무 답답하네요ㅜㅜ
회원가입 후 로그인을 하면 로그인이 정상적으로 됩니다. 그런 다음에 로그아웃을 하면, 로그아웃까진 정상작동하는데 그다음 다시 로그인을 할 때 '가입하지 않은 회원입니다' 라고 뜹니다. 혹시 back에서 그냥 로그아웃하면 유저 삭제하도록 만드신건가요? 아니면 지금 제가 안되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 기초, JPA1,JPA2까지 모두 수강하였지만, 제가 JPA에 대해 실무경험이 없다보니 몇가지 궁금한점이 있어서 문의드립니다... 보통 JPQL, queryDSL를 사용할 수 있을때 JPQL에서 사용하다가 동적으로 사용하기 힘들때만 queryDSL를 보통 사용하나요? 정확히 어느경우에 JPQL를 사용하고 어느 경우에 queryDSL를 사용하면 좋을지 궁금합니다.... 감사합니다..
사용자 홈 페이지 - 1 > 사용자 정보 연결 강의에서 사용자의 정보를 연결하는 부분에 강사님 프로젝트에는 page/api/user.info/[screenName].ts 해당 파일에서 사용자 정보를 가져오는 api내용이 있을것으로 예상하나 강의내용엔 해당 파일에 대한게 없어서 localhost:3000/[screenName] 해도 사용자정보를 찾을수없습니다라고만 나오고있습니다..!! 제가 혹시 놓친게 있나 그전영상들을 돌려봐도 안보여서.. 한번 확인부탁드리겠습니다!!+_+
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 인텔리제이나 h2 콘솔에서 에러가 뜨지는 않습니다. 그런데 localhost8080에 접속하여 수강 목록에 들어갔을때 새로운 창으로 넘어가지 않고, 가입창에서 입력을 했을때도 데이터베이스에 저장이 되거나 홈화면으로 리다이렉트되는 등의 조치가 시행되지 않습니다.. 무엇이 문제인지 궁금합니다. 감사합니다. https://drive.google.com/file/d/1j3y1a2OuGRsjAHbAITL-iFoAPqClJgbr/view?usp=sharing
스프링 데이터 jpa를 사용하여 여러 연관관계를 가진 엔티티를 만들었는데 이 강의에서처럼 연관관계 편의메서드에서 하신 것처럼 연관관계가 설정된 엔티티에 따로 설정(member.getOrders().add(this) 같은) 을 따로 해주지 않았는데 문제가 없었습니다. 특별히 어떤 이유에서 연관관계 설정 메서드를 정의하신건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 mysql 연동하였는데 여기서 사용하는 user, order, category schema ddl 을 받을수 있을까요 ??
완강 후 복습까지 마치고 나면 또 어떤것을 도전 해야할지 갑자기 막막해졌어오ㅠㅠ.. 선생님 유튜브 강의중 이 다음으로 보면 좋을만한 영상이 있을까요? 그리고 노드에 대해 궁금한것이 많은데 많은 종류의 노드가 상세히 설명 된 초보자를 위한 글이나 강의가 있을까용,, 너무 막막해요. 하루 10시간 이상 스터디를 하고싶은데 다음에 뭐를 시작해야할지 막힌 기분입니당.... 열정은 넘치나 길을 몰라서 우왕좌왕 중이에요!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이제 막 네트워크 배우고 넘어왔는데 HTTP 연결은 계속해서 이어지는 게 아니고 rquest를 받은 뒤 response를 보내면 연결을 끊고 request를 다시 받으면 다시 연결하고 이런 걸로 알고 있는데요 쓰레드도 계속 이런 식으로 동작하는 건가요??