inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

파일 업로드 부분에서 이녀석이 계속 에러가 뜨네요

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]

java.lang.Error: Unresolved compilation problems: The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from required .class files The method parseRequest(HttpServletRequest) from the type ServletFileUpload refers to the missing type HttpServletRequest 톰캣 10버전을 쓰고 있는데 자꾸 javax로 인식하고 있는 것 같습니다..... 임포트 부분을 보면 jakarta로 받고 있는데 왜 이런 에러가 생기는지 알 수 있을까요?

  • spring
  • mvc
  • ajax
  • pojo
wjdthddo1226 댓글 1 좋아요 0 조회수 2042

War 파일 Intellij Import

해결됨

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

war 파일을 Intellij에 import 해 다시 배포하고 싶은데 어떻게 해야 하나요? 그리고 war 파일을 import하면 다시 수정 후 배포가 가능한가요?

  • jsp
  • mysql
  • mvc
  • ajax
  • pojo
  • war
심야 댓글 1 좋아요 0 조회수 6053

TestRestTemplate 대신에 RestAssured를 사용하는 이유가 있을까요?

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

TestRestTemplate은 스프링 테스트에서 제공하는 라이브러리로 알고 있습니다. 굳이 스프링에서 제공하는 라이브러리 말고 외부 라이브러리인 RestAssured를 사용하는 이유가 따로 있을까요? 제가 아무리 검색해도 시원한 답변을 찾을 수가 없었습니다. 둘의 장단점이나 차이점을 좀 알고 싶습니다.

  • tdd
  • spring-boot
  • pojo
  • api
임요환 댓글 1 좋아요 0 조회수 1214

API 테스트로 전환하기

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

해당 영상 내에서 굳이 var 타입을 사용하신 이유를 알 수 있을까요?

  • tdd
  • spring-boot
  • pojo
  • api
enble_777 댓글 1 좋아요 0 조회수 1044

인텔리제이 맥북 환경 설정 질문

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

강사님, 안녕하세요. 강의평이 좋아서 결재를 하였습니다. 최근에는 맥북/인텔리제이 조합으로 강의를 수강하는 사람들이 많아 다른 강사분들도 강의 맨 처음에 개발 환경 설정을 (맥/윈도우) 에 맞게 각각 세팅하는 영상들을 만들어주시는데요. 혹시 똑같이 맥 / 인텔리제이로 환경설정 하는 영상을 만들어 주실 수 있을까요? 개인적으로 개발환경을 두 개를 배워야 한다는게 부담스럽기도 합니다.

  • jsp
  • mysql
  • mvc
  • ajax
  • pojo
흰머리오목눈이 댓글 1 좋아요 0 조회수 662

JS 부분을 줄이고 싶습니다

해결됨

[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]

안녕하세요. 강좌를 듣다가 "이 부분은 좀 더 백엔드 단에다 옮기면 좋을 것 같은데?" 라는 생각이 들어서요. 실제 현업에서도 유효성 검증은 JS 단에서 주로 처리하는지, 백엔드 단에서 주로 처리 하는지 궁금합니다. check() 같은 경우에도 (물론 지금은 강좌 범위와 벗어나지만) @Valid 등 여러 처리할 수 있는 수단이 있을 것 같은데, 아직 초보라 잘 모르겠습니다. 백에도서 충분히 처리 가능한지, 그리고 현업에서도 백단에서 유효성 검증에 대한 책임을 더 두는지 궁금합니다.

  • spring
  • mvc
  • ajax
  • pojo
brucehan_business 댓글 1 좋아요 0 조회수 387

오라클 포트 질문 있습니다!

해결됨

[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]

33:00쯤에 오라클 포트와 톰캣 포트가 충돌날 수 있다고 하셨는데, 오라클 포트는 1521 아닌지 여쭙고 싶습니다. 제가 알고 있는 포트는 1521밖에 없어서요ㄷㄷ 혹여 다른 포트도 있다면... 새로운 지식 알고 갈 것 같아서 말입니당 ㅎㅎ

  • spring
  • mvc
  • ajax
  • pojo
brucehan_business 댓글 1 좋아요 0 조회수 338

코드 스타일에 대해서 질문드립니다.

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

변수들에 final 키워드를 붙이시는 이유 class를 만들때 접근지정자 public 을 지우시는 이유 메서드를 static 으로 생성하는 이유 위의 점들이 궁금합니다.

  • tdd
  • spring-boot
  • pojo
  • api
임요환 댓글 1 좋아요 2 조회수 1165

43강 jackson 메이븐

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]

안녕하세요. 메이븐에 jackson-mapper를 추가하신 이유는 스프링 버전이 낮아서 인가요? 다른 블로그를 찾아보니 jackson.core만 추가해도 되는 것 같더라구요. 감사합니다!!

  • MVC
  • spring
  • pojo
  • ajax
oniic 댓글 1 좋아요 0 조회수 367

getRequestDispatcher(경로) 메서드 질문입니다.

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

안녕하세요. getRequestDispatcher() 메서드의 매개변수 경로는 기본으로 WebContent로 되어 있는건가요? 감사합니다.

  • mysql
  • mvc
  • MVC
  • jsp
  • pojo
  • ajax
oniic 댓글 1 좋아요 0 조회수 598

전자정부 프레임워크를 굳이 사용 안 해도 괜찮을까요?

해결됨

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

안녕하세요. Spring Framework와 JSP를 공부하고자 이 강의를 구매했는데요. 전자정부 프레임워크는 쓰고 싶지 않은데, 실습 시 필수로 해야되는 건 아니죠? 즉, Spring Framework 환경에서 해도 괜찮은지 여쭙고 싶습니다. 비슷한 질문이 있는 것 같은데 조금 헷갈려서 다시 질문드립니다~ 여담으로, 박매일 선생님 강의 Java TPC부터 잘 보고 있습니다~ 감사합니다~

  • MVC
  • mysql
  • mvc
  • jsp
  • pojo
  • ajax
  • pojo
brucehan_business 댓글 1 좋아요 1 조회수 880

혹시 강의 중에 나오는 플러그인 좀 알 수 있을까요

해결됨

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

강의 중에 나오는 "Complexity is 3 Everything is cool!" 이라는 코멘트가 나오는건 어떤 플러그인을 사용하시는 건지 궁금하니다!!

  • tdd
  • spring-boot
  • spring-boot
  • pojo
  • api
  • pojo
HanKyul Kim 댓글 1 좋아요 0 조회수 1237

MySQL table 만들기중

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

"member" 테이블은 안만들어지고 "members" 테이블은 만들어지는데 둘다 쿼리는 똑같습니다 왜 그런건지 알려주실수있나요..?

  • pojo
  • mvc
  • ajax
  • mysql
  • jsp
  • MVC
JEHYUNG KIM 댓글 1 좋아요 0 조회수 426

ApiTest에서 MockMvc를 사용한 테스트가 아닌

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

ApiTest에서 MockMvc를 사용한 테스트가 아닌 RestAssured를 사용하여 테스트하는 이유를 알 수 있을까요??

  • tdd
  • spring-boot
  • api
  • pojo
김동호 댓글 3 좋아요 1 조회수 1452

port와 adapter에 대해

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

만들때 쓰셨던 port와 adapter 패턴에 대해 좀 설명해주실수 있을까요?

  • spring-boot
  • tdd
  • api
  • pojo
Minkyu Ha 댓글 1 좋아요 1 조회수 999

속도감..

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

조금.. 빠른감이 있네여.. ㅠㅠㅎ

  • tdd
  • spring-boot
  • api
  • pojo
SJ 댓글 0 좋아요 12 조회수 982

API전환하기 테스트에서

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

자바 1.8만 설치되어 있어 해당 버전으로 실습중에 있는데요 ProductApiTest > 상품등록() > API 요청 final AddProductRequest request = 상품등록요청_생성(); // API 요청 final ExtractableResponse<Response> response = RestAssured.given().log().all() .contentType(MediaType.APPLICATION_JSON_VALUE) .body(request) .when() .post("/products") .then() .log().all().extract(); 위 코드에서 request는 java class object인데 json으로 type변환 없이 전송이 잘 되네요. 저 같은 경우 serialize exception이 발생하면서 테스트가 진행되지 않습니다. ㅠ 버전에 따른 차이일까요? com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class com.example.productorderservice.product.AddProductRequest and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77) at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1300) at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400) at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:46) at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:29) at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:3160) at com.fasterxml.jackson.databind.ObjectMapper$writeValue.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148) at io.restassured.internal.mapping.Jackson2Mapper.serialize(Jackson2Mapper.groovy:53) at io.restassured.internal.mapping.Jackson2Mapper.serialize(Jackson2Mapper.groovy) at io.restassured.mapper.ObjectMapper$serialize.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:139) at io.restassured.internal.mapping.ObjectMapping.serializeWithJackson2(ObjectMapping.groovy:209) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:149) at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:100) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:240) at io.restassured.internal.mapping.ObjectMapping.serialize(ObjectMapping.groovy:150) at io.restassured.internal.mapping.ObjectMapping$serialize.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at io.restassured.internal.RequestSpecificationImpl.body(RequestSpecificationImpl.groovy:753) at com.example.productorderservice.product.ProductApiTest.상품등록(ProductApiTest.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.util.ArrayList.forEach(ArrayList.java:1259) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.util.ArrayList.forEach(ArrayList.java:1259) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:84) at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)

  • tdd
  • spring-boot
  • api
  • pojo
라피텔 댓글 1 좋아요 1 조회수 1489

.ast

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

안녕하세요 강사님 테스트하실 때 .ast를 활용하여 assertThat()을 활성화하시던데 방법을 알 수 있을까요? postfix 를 활용하시는 것 같은데 어떻게 하는지 정확히 궁금합니다!

  • spring-boot
  • tdd
  • pojo
  • api
  • pojo
  • api
하하하 댓글 1 좋아요 1 조회수 627

API 테스트로 전환하기 영상에서..

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

4:40에.. extends ApiTest 하면서 SpringBootTest 어노테이션을 지웁니다! 에러를 계속 마주치다가 간신히 찾았군요..

  • api
  • pojo
  • api
  • tdd
  • spring-boot
doxxx93 댓글 5 좋아요 18 조회수 1520

재밌게 잘 보고있습니다.

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

1배속이지만 다른강의 2배속 느낌이네요.. 이게 실무인가 싶기도 하고 ㅎ_ㅎ 특정 메서드를 만들면, throw new 이후 나오는 건 따로 설정을 하신거려나요?

  • pojo
  • api
  • tdd
  • api
  • spring-boot
doxxx93 댓글 1 좋아요 0 조회수 994

인기 태그

인프런 TOP Writers

주간 인기글