Postman 406, 404 에러
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
첫번째 PostMapping 으로 했을때 값 등록은 잘되는데 406 에러가 나옵니다. 두번째 update 할때는 값도 변경안되고 404 에러가 납니다..
- spring
- spring-boot
- JPA
- jpa
- java
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
첫번째 PostMapping 으로 했을때 값 등록은 잘되는데 406 에러가 나옵니다. 두번째 update 할때는 값도 변경안되고 404 에러가 납니다..
해결됨
스프링 프레임워크는 내 손에 [스프1탄]
버전 변경하면 콘솔창에서 에러 메세지가 등장합니다. Maven DEpendencies 안에는 5.0.2 모두 버전이 변경된 것은 확인할 수 있는데 오류가 난 상태로 실습을 진행해도 될 지 궁금합니다. [오류 메세지]
해결됨
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 프론트 컨트롤러를 이해하는 과정에 질문이 생겨서 질문 드립니다! FrontControllerServletV1 의 생성자는 FrontControllerServletV1 가 실행될 때 실행되는데, service() 메소드는 왜 생성자처럼 FrontControllerServletV1가 실행될 때 자동으로 실행되는 지 잘 이해가 안가 질문 드립니다. 따로 service 메소드를 실행하지 않았는데도 실행되는 이유를 알고 싶습니다!!
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
안녕하세요 영한님! 질문드립니다. 고아 객체는 부모 엔티티와 연관관계가 끊어진 자식 엔티티 라고 이해했습니다. 고아 객체가 생성되는 조건은 부모 엔티티 삭제 부모 엔티티가 삭제 되면 자식 엔티티를 고아객체로 판단 합니다. e.g) em.remove(parent); 부모 엔티티에 있는 자식 엔티티 컬렉션 제거 연관관계가 끊어진 자식 객체를 고아객체로 판단 합니다. e.g) parent.getChild().remove(0); 결과적으로 orphanRemoval = true 를 설정하면 자식 엔티티(고아 객체)는 부모 엔티티와 함께 삭제 되거나 자식 엔티티(고아 객체)만 삭제 된다. 맞게 이해하고 있는 것 일까요? 감사합니다.^^
해결됨
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
postman에서 post로 send를 했는데 ok 가 postman에 출력이 되지 않습니다. 왜 그런지 알 수 있을까요? 현재 작성한 파일들과 RequestParamServlet입니다.
미해결
스프링 프레임워크는 내 손에 [스프1탄]
어떤것 때문에 getProperty가 나타나지 않는지 이상하네요
해결됨
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 선생님, 다름이 아니라 제가 지난 String[], String, charAt, length와 관련된 질문 이후로 문자열(String)을 계속 공부하면서 막히는 것이 조금 있어 이렇게 질문을 남깁니다. 아래 코드에서 제가 간단하게 System.out.println(); 명령문으로 아래 문장들을 출력해봤습니다: 결과 (1)에서는 "Hello, "와 "World!" 2개의 단어가 합쳐져서 문장 Hello, World!가 출력이 되고, 결과 (2)에서는 Route 12가 아닌, Route 66으로, 결과 (3)에서는 25 years old 이라고 출력이 되는데, 이렇게 되는 이유가 System.out.println(); 명령문의 괄호 안에 쓰여진 문장들이 기본적으로 String으로 간주하여 결과를 출력하고, 만일 숫자가 먼저 온다면 int로 인지해서 결과를 먼저 받은 다음, + 기호를 통해 문자열을 출력해서 그런 건가요? 혹여나 시간이 되신다면, 선생님으로부터 답변을 받았으면 좋겠습니다! 지난 번 QNA가 너무 좋아서 아직도 기억에 남네요..ㅎ 미리 감사합니다 :)
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요, 아래 강의 시간대에 상품 주문 여러개 하기 위해서 상품을 추가, 삭제하고 하는 부분 UI 구성 코드(validation 부분까지도여)로 남겨주실수 있을까요? 강의 챕터: 상품주문 시간: 7분 58초
해결됨
스프링 프레임워크는 내 손에 [스프2탄]
29강 - 리스트에 페이지 번호 구하기를 들으면서 이해가 안가는 부분이 있어 질의 드립니다. 페이지 하단에 페이지번호 출력과 각 번호를 누르면 list?page=1, list?page=2 이런식으로 웹이 이동하는 방식 같은 전체적인 프로세스는 강의를 들으면서 이해가 잘되었습니다. 한가지 이해가 안가는 부분이 있는데 제목에 작성한것처럼 page의 증가가 어디서 이루어지는지를 잘모르겠습니다. 정상적으로 다 작동이 잘되고 디버깅을 이용해서 page가 1 - > 2 로 값이 정상적으로 들어가있는것도 확인하였습니다. 코드를 전체적으로 검토를 해봤지만 page를 따로 증가시켜주는 코드는 찾지못했는데 어디서 증가가 되는건지가 궁금합니다 ㅠㅜㅠㅠ
미해결
스프링 부트 웹 개발 입문 - 따라하며 배우기
mac m1 사용하고 있습니다. brew services start mariadb를 입력하면 Name Status User File emacs none mariadb stopped kimbongseob ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist unbound none 다른 Status 가 Started가 들어와야하는데 stopped가 들어옵니다. Can't connect to local server through socket '/tmp/mysql.sock' (2) mariadb 접속시 위와 같은 에러가 발생합니다. 기존 Mysql 사용한 적이 있어서 해당 부분 잘 삭제하고 실행 했습니다. (삭제 직접 폴더 파일 다 열어서 확인해봤는데 없었습니다.)
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
데이터 베이스 h2 데이터 베이스 mac사용자는 어디 서 다운 받나요?
해결됨
스프링 시큐리티 OAuth2
Spring Authorization 1.0 을 사용하여 FormLogin 이 아닌 Ajax로 로그인을 하려고 합니다. Spring Security 강의를 참조하여 AbstractAuthenticationProcessingFilter를 상속하여 CustomUserDetailsService, CustomAuthenticationProvider, CustomAuthenticationProcessingFilter, CustomAuthenticationToken 구현체를 만들었습니다. CustomAuthenticationProcessingFilter는 AbstractAuthenticationProcessingFilter 상속하여 개발하였는데 Filter를 등록 하려면 강의에서 내용처럼 AuthenticationManager를 등록 해줘여 하는데 강의는 WebSecurityConfigurerAdapter 상속하여 설정 하는것으로 설명되어 있는데 Spring Securitty 6.0 에서는 삭제되었습니다. Spring Security 의 강의를 보면 @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.authenticationProvider(ajaxAuthenticationProvider()); } configure(AuthenticationManagerBuilder auth)를 구현하고 @Bean public AjaxLoginProcessingFilter ajaxLoginProcessingFilter() throws Exception { AjaxLoginProcessingFilter filter = new AjaxLoginProcessingFilter(); filter.setAuthenticationManager(authenticationManagerBean()); return filter; } 질문)AjaxLoginProcessingFilter Bean 에서 설정하는데 SecurityFilterChain 를 등록하는 방식에서는 어떻게 등록해야 할지 문의 합니다. 제가 구현한 소스 일부 Authorization Server 설정을 다른 클래스에서 설정하였고 디버깅을 해보니 Authorization Server 용 FilterChain 과 로그인 처리용 FilterChain 이 따로 등록되어 로그인 프로세스는 Spring Security FilterChain Class 에서 진행하였습니다 @Configuration는 Spring Security 6에서는 @EnableWebSecurity에 포함되지 않아 추가 하였습니다. @EnableWebSecurity @RequiredArgsConstructor @Configuration public class DefaultSecurityConfig { private final PasswordEncoder passwordEncoder; private final CustomAuthenticationProvider customAuthenticationProvider; // @Bean public CustomAuthenticationProcessingFilter customAuthenticationProcessingFilter() throws Exception { CustomAuthenticationProcessingFilter filter = new CustomAuthenticationProcessingFilter(); return filter; } // @formatter:off @Bean SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(authorizeRequests ->authorizeRequests .requestMatchers(CorsUtils::isPreFlightRequest).permitAll() .requestMatchers("/login/**").permitAll() .requestMatchers("/api/registered-client/**").permitAll() .anyRequest().authenticated() ) .csrf(csrf -> csrf .ignoringRequestMatchers(new AntPathRequestMatcher("/api/registered-client/**")) ) .formLogin().disable(); http.authenticationProvider(customAuthenticationProvider); http.addFilterBefore(customAuthenticationProcessingFilter(), UsernamePasswordAuthenticationFilter.class); return http.build(); } // @formatter:on } AuthenticationManager를 등록하지 않아 예와가 발생함 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'customAuthenticationProcessingFilter' defined in class path resource [com/naon/oidc/security/config/DefaultSecurityConfig.class]: authenticationManager must be specified 그리고 @Bean으로 만들어 등록하면 순환참조가 됩니다.
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
문제 관련해서 게시판 답변들을 참고하였습니다 ctrl + shitf + s -> gradle -> build and run using (gradle로 변경) & run teset using (gradle로 변경) invalidate caches -> restart gradle로 변경을하면 classNotFoundException은 발생안하는데 아래와 같은 에러가 계속 발생하네요. 혹시 놓치는 부분이 있을까요? https://drive.google.com/file/d/18n2GiksxflnW0g0svZx6jq6gUFomqSPW/view?usp=sharing 혹시 몰라 아래 사진도 첨부합니다
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
폼 객체를 이렇게 이해한 것이 맞는지 !! @GetMapping("/members/new") public String createForm(Model model) { model.addAttribute("memberForm",new MemberForm()); return "members/createMemberForm"; } GET 요청시 비어있는 MemberForm 객체를 모델에 담아서 뷰(템플릿)에 전달 @PostMapping("/members/new") public String create(@Valid MemberForm form , BindingResult result) { 클라이언트가 폼에 작성한 필드들을 Submit 할때 POST 요청되어 템플릿에서 각 필드의 값들을 컨트롤러에서 넘겨준 모델의 form 객체에 set 한다 Address address = new Address(form.getCity(), form.getStreet(), form.getZipcode()); Member member = new Member(); member.setName(form.getName()); member.setAddress(address); memberService.join(member); form 객체는 이제 값이 설정되었으니 Member 객체를 생성하고 이 member 의 필드들을 form 객체에서 가져와서 set 하고 join(회원가입)을 완료한다 . 강의에서 말하는 폼 객체 vs 엔티티 직접 사용 지금은 서비스가 작아서 폼 객체를 사용하는 것이 더 번거러운 일인듯 한데 더 복잡해지면 엔티티를 유지보수하기 어려워지기 떄문에 엔티티는 화면을 위한 로직은 없어야 한다. 항상 친절한 답변 주셔서 감사합니다 !
미해결
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
안녕하세요. 강의를 듣던중에 교안에 추가되지 않은 듯한 내용이 있는거 같아서 글 쓰게 되었습니다. < Bean Validation - 오브젝트 오류 > 파트에서 맨처음에 @ScriptAssert 애너테이션을 이용하여 자바 스크립트 코드를 실행하는 내용이 있는데, 현재 날짜 2023년 2월 23일 기준 스프링 부트 버전 3.0.2 + java 버전 17.0.6 을 사용하여 실행시, 아래의 오류가 발생합니다. jakarta.validation.ConstraintDeclarationException: HV000170: No JSR-223 scripting engine could be bootstrapped for language "javascript".] with root cause org.hibernate.validator.spi.scripting.ScriptEvaluatorNotFoundException: HV000232: No JSR 223 script engine found for language "javascript". 이유가 궁금해서 조금 찾아보니, JVM 이 지원하는 스크립트 엔진의 차이 때문에 해당 오류가 발생하는 것 같다는 글을 다수 발견했습니다. 현재 jdk8 ~ jdk14의 JVM 상에서 사용되는 Nashorn 엔진은 javascript를 지원하는데, jdk14 이후 버전부터는 javascript가 지원되지 않는 GraalVM 을 사용한다고 합니다. 스프링 부트 3이후에는 java 17 이상을 사용하는 것이 필수조건으로 되어있기 때문에, 더는 스프링 부트 3에서는 @ScriptAssert를 이용한 자바스크립트 표현식을 사용할 수 없는 것 같습니다. 강의 내용중 크게 중요한 부분을 차지하지는 않는 것 같아서, 질문이 없는 것 같은데 확인해주시면 감사할 것 같습니다. reference : https://stackoverflow.com/questions/71481562/use-javascript-scripting-engine-in-java-17 https://sinau.tistory.com/60
미해결
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 공유해주신 소스코드를 실행시키는 데는 문제가 없었는데 제가 진행하던 프로젝트에서 webapp 하위에 index.html이나 다른 jsp 파일을 폴더 경로에 맞게 넣어놔도 접근이 안되고 404에러가 뜹니다. 다음과 같이 경로 모두 일치하게 넣었고, index.html 자체도 웰컴페이지로 나오지 않는걸 봐선 코드 오타 문제는 아닌 것 같습니다. (모든 코드는 혹시나 싶어 제공해주신 소스 코드에서 복붙했었습니다) 한 가지 다른 점이 있다면, 저는 아래와 같은 스프링 부트 버전에서 개발했다는 건데요 plugins { id 'java' id 'war' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } 혹시 버전 때문에 이런 문제가 발생할 수도 있나요? 버전 때문에 생기는 문제라면 나중에 혼자 개발할 때도 같은 문제가 생길 수 있을 것 같은데 구글링해보니까 내용이 잘 안나와서.. 검색 키워드나 관련 내용 참고할 수 있는 사이트가 있다면 알고 싶습니다.
미해결
실전! 스프링 데이터 JPA
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. Member findMember = memberRepository.findById(member1.getId()).get(); 실무에서 이렇게 안쓴다고 하시던데 실무에서 어떤식으로 쓰이나요?
해결됨
나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요, 다름이 아니라 제가 퀴즈 #7, 퀴즈 #8, 섹션 8. 접근 제어자 (전반전 및 후반전) 강의를 듣고, 궁금한 것이 생겨서 이렇게 글을 남깁니다. (1) 접근 제어자랑 관련된 간단한 질문입니다. 제가 올바르게 이해하고 있는지 한 번 확인해보고 싶습니다. 제가 강의를 들었을 땐, protected 예약어는 같은 패키지에서도 사용 가능하고, 다른 패키지에서 사용하고 싶을 땐, 자식 클래스에서 써야하는 걸로 이해했는데, 이 '같은 패키지'라는 말은 패키지 뿐만 아니라 (아마 당연하겠지만) '같은 클래스 안에서도 사용 가능하다' 는 것도 내포하는 건가요? (2) 코드 작성 방식에 관한 질문입니다. 퀴즈 #7 강의를 듣기 이전에 제 스스로 코드를 아래와 같이 적고 결과도 강의에서 제시한 바와 같이 똑같이 만들었습니다: 그런데 선생님의 코드를 보니 한 클래스 내에서 여러 개의 생성자를 만들 수 있다는 것을 이용해서 아래 사진처럼 생성자 2개를 하나는 this() 로, 하나는 String name 전달 값을 포함하는 public 생성자 를 만들어서 이름을 지으셨는데, 혹시 이렇게 코드를 적는 방식의 차이가 있을까요? 또한 이름을 지을 때 그대로 this ,name = "햄버거"; 또는 super ,name = "치즈버거"; 이렇게 작성해도 상관없는 건가요? (중간에 반점은 점(.)을 넣게되면 글 안에서 하이퍼링크가 자동 생성되어 불가피하게 반점을 넣었습니다. 양해 부탁바랍니다.) 3. 마찬가지로 코드 작성 방식에 관한 질문입니다. 퀴즈 #8 강의를 듣기 이전에 제 스스로 코드를 적고, 결과도 강의에서 제시한 바와 같이 똑같이 만들었습니다: 다만 한 가지 다른 것은 저는 사진처럼 this.AccidentDetector = AccidentDetector; 로 직접적으로 접근하는 방향으로 해서 코드를 썼고, 이 이후에는 this.detector.detect();나 this.reporter.report(); 를 이용한 것이 아닌 AccidentDetector.detect(); 와 VideoReporter.report(); 로 작성하여 코드를 완성했습니다. (비록 사진에는 나와있지 않지만...ㅎ) 이러한 경우에도 상관 없는 건가요? 지난 번에 제 글에 달린 답변은 정말로 자세해서 많이 도움이 되었습니다. 항상 감사합니다.
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 우선 제 파일 링크입니다. https://drive.google.com/file/d/1n2XmTBYPylkkCA40URbdx4AEQTIqenvI/view?usp=sharing 여태까지 잘따라오고있었는데 순수jdbc 강의 따라하면서 return new JdbcMemberRepository(dataSource); 를 적용하고 나서 회원가입페이지에서 원하는 이름을 치고 등록을 누르면 다음과 같은 오류가 뜹니다. @Configuration public class SpringConfig { private DataSource dataSource; @Autowired public SpringConfig(DataSource dataSource){ this.dataSource = dataSource; } @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } 영한님 강의영상을 봐도 SpringConfig나 memberService글자가 회색처리되지않아있는데 제파일에선 unused라면서 회색처리 되어서 코드가 정상적으로 작동이 되지않는건가 싶은데.. 고민해봐도 해결방법을 모르겠어서 올립니다! 가능하다면 unused된 이유도 알고싶습니다.!
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요. 순수 JDBC 부분 듣고 있습니다. 첫 번째 사진에 보이는 것과 같이 회원등록을 하고 회원목록을 보게되면 바로 다음 순서로 생성이 되는것이 아니라 36번쨰부터 생성이 됩니다. 그래서 직접 h2 db에서 sql 문을 통해서 회원목록을 지우고 새로 등록해보았는데 그럴경우에도 순서가 초기화되지 않고, 36을 지웠으면 다음생성때는 37이 생성되는 것과같이 나타납니다. 1. db에서 직접 sql 문을 작성하여 적용하는 과정에서 문제가 발생한것일까요? 2.해결 방법이 궁금합니다.