inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

섹션2 201응답받기 부분 테스트 404에러 질문입니다

미해결

스프링 기반 REST API 개발

위, 아래의 사진은 수업에서 진행한 EventConroller, EventControllerTests의 전문입니다. 테스트하면 아래의 에러메세지가 나옵니다 수업과 같이 진행했는데 왜 발생하는지를 모르겠습니다 도와주세요 Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended MockHttpServletRequest: HTTP Method = POST Request URI = /api/events/ Parameters = {} Headers = [Content-Type:"application/json;charset=UTF-8", Accept:"application/hal+json"] Body = null Session Attrs = {} Handler: Type = org.springframework.web.servlet.resource.ResourceHttpRequestHandler Async: Async started = false Async result = null Resolved Exception: Type = null ModelAndView: View name = null View = null Model = null FlashMap: Attributes = null MockHttpServletResponse: Status = 404 Error message = null Headers = [Vary:"Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers"] Content type = null Body = Forwarded URL = null Redirected URL = null Cookies = [] java.lang.AssertionError: Status Expected :201 Actual :404 <Click to see difference> at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:59) at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:122) at org.springframework.test.web.servlet.result.StatusResultMatchers.lambda$matcher$9(StatusResultMatchers.java:637) at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:214) at me.gang.demorestapi.events.EventControllerTests.createEvent(EventControllerTests.java:31) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:76) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)

  • java
  • spring
  • rest-api
yello9 댓글 1 좋아요 0 조회수 761

swagger거 실행할려고 서버실행시 문제 발생

미해결

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

swaggerConfig package com.example.restfulness.config; import io.swagger.v3.oas.annotations.OpenAPIDefinition; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration @OpenAPIDefinition public class SwaggerConfig { @Bean public OpenAPI api() { Info info=new Info().title("").version("v3").description("api"); // Info info=new Info().title().version("v3").description("api"); // Info info=new Info().title("").version return new OpenAPI().components(new Components()).info(info); } } gradle.build plugins { id 'java' id 'org.springframework.boot' version '3.1.4' id 'io.spring.dependency-management' version '1.1.3' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'org.springframework.boot:spring-boot-starter-validation' //@XML implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml' //@헤테오스 implementation 'org.springframework.boot:spring-boot-starter-hateoas' //implementation 'org.springframework.boot:spring-boot-starter-parent' //@스웨거 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4' //implementation 'org.springdoc:springdoc-openapi-ui' } tasks.named('test') { useJUnitPlatform() } 그리고 서버를 재 구동했는데 다음과 같은 메세지가 나타났습니다. 어떻게 해야 할까요? 4:23:01 AM: Executing 'dependencies'... > Task :dependencies ------------------------------------------------------------ Root project 'restfulness' ------------------------------------------------------------ annotationProcessor - Annotation processors and their dependencies for source set 'main'. \--- org.projectlombok:lombok -> 1.18.30 bootArchives - Configuration for Spring Boot archive artifacts. (n) No dependencies compileClasspath - Compile classpath for source set 'main'. +--- org.projectlombok:lombok -> 1.18.30 +--- org.springframework.boot:spring-boot-starter-data-jpa -> 3.1.4 | +--- org.springframework.boot:spring-boot-starter-aop:3.1.4 | | +--- org.springframework.boot:spring-boot-starter:3.1.4 | | | +--- org.springframework.boot:spring-boot:3.1.4 | | | | +--- org.springframework:spring-core:6.0.12 | | | | | \--- org.springframework:spring-jcl:6.0.12 | | | | \--- org.springframework:spring-context:6.0.12 | | | | +--- org.springframework:spring-aop:6.0.12 | | | | | +--- org.springframework:spring-beans:6.0.12 | | | | | | \--- org.springframework:spring-core:6.0.12 (*) | | | | | \--- org.springframework:spring-core:6.0.12 (*) | | | | +--- org.springframework:spring-beans:6.0.12 (*) | | | | +--- org.springframework:spring-core:6.0.12 (*) | | | | \--- org.springframework:spring-expression:6.0.12 | | | | \--- org.springframework:spring-core:6.0.12 (*) | | | +--- org.springframework.boot:spring-boot-autoconfigure:3.1.4 | | | | \--- org.springframework.boot:spring-boot:3.1.4 (*) | | | +--- org.springframework.boot:spring-boot-starter-logging:3.1.4 | | | | +--- ch.qos.logback:logback-classic:1.4.11 | | | | | +--- ch.qos.logback:logback-core:1.4.11 | | | | | \--- org.slf4j:slf4j-api:2.0.7 -> 2.0.9 | | | | +--- org.apache.logging.log4j:log4j-to-slf4j:2.20.0 | | | | | +--- org.apache.logging.log4j:log4j-api:2.20.0 | | | | | \--- org.slf4j:slf4j-api:1.7.36 -> 2.0.9 | | | | \--- org.slf4j:jul-to-slf4j:2.0.9 | | | | \--- org.slf4j:slf4j-api:2.0.9 | | | +--- jakarta.annotation:jakarta.annotation-api:2.1.1 | | | +--- org.springframework:spring-core:6.0.12 (*) | | | \--- org.yaml:snakeyaml:1.33 | | +--- org.springframework:spring-aop:6.0.12 (*) | | \--- org.aspectj:aspectjweaver:1.9.20 | +--- org.springframework.boot:spring-boot-starter-jdbc:3.1.4 | | +--- org.springframework.boot:spring-boot-starter:3.1.4 (*) | | +--- com.zaxxer:HikariCP:5.0.1 | | | \--- org.slf4j:slf4j-api:1.7.30 -> 2.0.9 | | \--- org.springframework:spring-jdbc:6.0.12 | | +--- org.springframework:spring-beans:6.0.12 (*) | | +--- org.springframework:spring-core:6.0.12 (*) | | \--- org.springframework:spring-tx:6.0.12 | | +--- org.springframework:spring-beans:6.0.12 (*) | | \--- org.springframework:spring-core:6.0.12 (*) | +--- org.hibernate.orm:hibernate-core:6.2.9.Final | | +--- jakarta.persistence:jakarta.persistence-api:3.1.0 | | \--- jakarta.transaction:jakarta.transaction-api:2.0.1 | +--- org.springframework.data:spring-data-jpa:3.1.4 | | +--- org.springframework.data:spring-data-commons:3.1.4 | | | +--- org.springframework:spring-core:6.0.12 (*) | | | +--- org.springframework:spring-beans:6.0.12 (*) | | | \--- org.slf4j:slf4j-api:2.0.2 -> 2.0.9 | | +--- org.springframework:spring-orm:6.0.12 | | | +--- org.springframework:spring-beans:6.0.12 (*) | | | +--- org.springframework:spring-core:6.0.12 (*) | | | +--- org.springframework:spring-jdbc:6.0.12 (*) | | | \--- org.springframework:spring-tx:6.0.12 (*) | | +--- org.springframework:spring-context:6.0.12 (*) | | +--- org.springframework:spring-aop:6.0.12 (*) | | +--- org.springframework:spring-tx:6.0.12 (*) | | +--- org.springframework:spring-beans:6.0.12 (*) | | +--- org.springframework:spring-core:6.0.12 (*) | | +--- org.antlr:antlr4-runtime:4.10.1 | | +--- jakarta.annotation:jakarta.annotation-api:2.0.0 -> 2.1.1 | | \--- org.slf4j:slf4j-api:2.0.2 -> 2.0.9 | \--- org.springframework:spring-aspects:6.0.12 | \--- org.aspectj:aspectjweaver:1.9.20 +--- org.springframework.boot:spring-boot-starter-web -> 3.1.4 | +--- org.springframework.boot:spring-boot-starter:3.1.4 (*) | +--- org.springframework.boot:spring-boot-starter-json:3.1.4 | | +--- org.springframework.boot:spring-boot-starter:3.1.4 (*) | | +--- org.springframework:spring-web:6.0.12 | | | +--- org.springframework:spring-beans:6.0.12 (*) | | | +--- org.springframework:spring-core:6.0.12 (*) | | | \--- io.micrometer:micrometer-observation:1.10.11 -> 1.11.4 중간생략 No dependencies (c) - A dependency constraint, not a dependency. The dependency affected by the constraint occurs elsewhere in the tree. (*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation. (n) - A dependency or dependency configuration that cannot be resolved. A web-based, searchable dependency report is available by adding the --scan option. BUILD SUCCESSFUL in 825ms 1 actionable task: 1 executed 4:23:02 AM: Execution finished 'dependencies'. 주소창에 localhost:8088/v2/api-docs를 입력했더니 This application has no explicit mapping for /error, so you are seeing this as a fallback. Thu Oct 12 04:07:11 KST 2023 There was an unexpected error (type=Not Found, status=404). No message available 가 보입니다.

  • rest-api
  • spring-boot
  • swagger
최원호 댓글 1 좋아요 0 조회수 932

1:1 연관관계

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

1:1 연관관계인 두 엔티티가 존재할 경우, 사실 1개의 테이블로 관리할 수 있고, 2개의 테이블 분리해서 관리할 수 있는데, 두 엔티티를 분리하는게 더 나을 것 같아서 2개의 엔티티로 분리하는 걸까요?

  • java
  • jpa
백린이 댓글 1 좋아요 0 조회수 532

post 요청시 헤더 관련 에러

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

post 요청시 헤더 관련 아래 에러 발생하는데, apollo-require-preflight: true등을 넣으면 정상 작동 하네요. 혹시 이 에러가 강의 중에는 안 나던데, 이유 알 수 있을까요? { "errors": [ { "message": "This operation has been blocked as a potential Cross-Site Request Forgery (CSRF). Please either specify a 'content-type' header (with a type that is not one of application/x-www-form-urlencoded, multipart/form-data, text/plain) or provide a non-empty value for one of the following headers: x-apollo-operation-name, apollo-require-preflight\n", "extensions": { "code": "BAD_REQUEST", "stacktrace": [ "BadRequestError: This operation has been blocked as a potential Cross-Site Request Forgery (CSRF). Please either specify a 'content-type' header (with a type that is not one of application/x-www-form-urlencoded, multipart/form-data, text/plain) or provide a non-empty value for one of the following headers: x-apollo-operation-name, apollo-require-preflight", "", " at new GraphQLErrorWithCode (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/internalErrorClasses.ts:15:5)", " at new BadRequestError (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/internalErrorClasses.ts:116:5)", " at preventCsrf (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/preventCsrf.ts:91:9)", " at ApolloServer.executeHTTPGraphQLRequest (/Users/hojeongpark/Develop/study/backend-bootcamp/class/section13/13-01-single-image-upload/node_modules/@apollo/server/src/ApolloServer.ts:1047:20)", " at processTicksAndRejections (node:internal/process/task_queues:95:5)" ] } } ] }

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
박호정 댓글 1 좋아요 1 조회수 548

JPQL DB 바로 조회

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

JPQL를 데이터를 조회하면, DB에 먼저 조회한 후, 영속성 컨텍스트에 이미 동일한 엔티티가 있으면, DB에서 조회한 데이터를 버리고, 이미 있는 엔티티를 반환한다고 알고 있습니다. 만약, 기존 엔티티를 새로 검색한 엔티티로 대체한다면, 영속성 컨텍스트에 수정 중인 데이터가 사라질 수 있어, 위험하다고 하는데, 그러면, 조회시 수정 중인 데이터가 조회되어서, 의도치 않는 데이터가 조회될 수 있지 않나요? 오히려 수정 중인 데이터 대신 새로 조회한 데이터로 대체하는게 좋지 않을까 싶은데, 혹시, DB에서 조회한 데이터를 버리고, 이미 있는 엔티티를 반환하는게 더 장점인 구체적인 예시가 있을까요?

  • java
  • jpa
백린이 댓글 2 좋아요 0 조회수 429

queryRunner fineOne 리턴타입

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

queryRunner.manager.findOne의 리턴 타입이 {id: string} | null 로 추론되는데 저만 이렇게 추론되는 걸까요? (webstorm 사용 중입니다!)

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
박호정 댓글 1 좋아요 0 조회수 165

예외 통합 강의 질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요 import.service.ts의 checkPaid 메서드 부분입니다. axios와 http 예외를 통합하기 위해서 다음처럼 작성하였는데 옵셔널 체이닝부분 관련 질문이 있습니다. throw new HttpException( error.response.data?.message || error.response.message, error.response.status || error.response.statusCode, ); 옵셔널 체이닝이 data가 있는지 여부를 보고 있으면 다음을 보내고 error.response.data.message 없으면 다음을 보내는데 error.response.message 다음처럼 옵셔널 체이닝 없이 작성한다면 오류가 발생하나요? throw new HttpException( error.response.data.message || error.response.message, error.response.status || error.response.statusCode, );

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
댓글 1 좋아요 0 조회수 239

31:04 부분 "select o from Order o" 만 했을 경우 결과값

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

2023-10-09T19:14:55.542+09:00 INFO 2455 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2023-10-09T19:14:55.542+09:00 INFO 2455 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2023-10-09T19:14:55.542+09:00 INFO 2455 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms 2023-10-09T19:14:55.660+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 offset ? rows fetch first ? rows only 2023-10-09T19:14:55.662+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495662 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 offset ? rows fetch first ? rows only select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 offset 0 rows fetch first 100 rows only; 2023-10-09T19:14:55.668+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where array_contains(?,m1_0.member_id) 2023-10-09T19:14:55.672+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495672 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where array_contains(?,m1_0.member_id) select m1_0.member_id,m1_0.city,m1_0.street,m1_0.zipcode,m1_0.name from member m1_0 where array_contains('ar0: ARRAY [CAST(1 AS BIGINT), CAST(2 AS BIGINT)]',m1_0.member_id); 2023-10-09T19:14:55.674+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select d1_0.id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status from delivery d1_0 where array_contains(?,d1_0.id) 2023-10-09T19:14:55.674+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495674 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select d1_0.id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where array_contains(?,d1_0.id) select d1_0.id,d1_0.city,d1_0.street,d1_0.zipcode,d1_0.status from delivery d1_0 where array_contains('ar1: ARRAY [CAST(1 AS BIGINT), CAST(2 AS BIGINT)]',d1_0.id); 2023-10-09T19:14:55.676+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.delivery_id=? 2023-10-09T19:14:55.677+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495677 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=? select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=1; 2023-10-09T19:14:55.677+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.delivery_id=? 2023-10-09T19:14:55.678+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495678 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=? select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=2; 2023-10-09T19:14:55.680+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select o1_0.order_id, o1_0.order_item_id, o1_0.count, o1_0.item_id, o1_0.order_price from order_item o1_0 where array_contains(?,o1_0.order_id) 2023-10-09T19:14:55.686+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495686 | took 5ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select o1_0.order_id,o1_0.order_item_id,o1_0.count,o1_0.item_id,o1_0.order_price from order_item o1_0 where array_contains(?,o1_0.order_id) select o1_0.order_id,o1_0.order_item_id,o1_0.count,o1_0.item_id,o1_0.order_price from order_item o1_0 where array_contains('ar2: ARRAY [CAST(1 AS BIGINT), CAST(2 AS BIGINT), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL]',o1_0.order_id); 2023-10-09T19:14:55.687+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select i1_0.item_id, i1_0.dtype, i1_0.name, i1_0.price, i1_0.stock_quantity, i1_0.artist, i1_0.etc, i1_0.author, i1_0.isbn, i1_0.actor, i1_0.director from item i1_0 where array_contains(?,i1_0.item_id) 2023-10-09T19:14:55.688+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495688 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select i1_0.item_id,i1_0.dtype,i1_0.name,i1_0.price,i1_0.stock_quantity,i1_0.artist,i1_0.etc,i1_0.author,i1_0.isbn,i1_0.actor,i1_0.director from item i1_0 where array_contains(?,i1_0.item_id) select i1_0.item_id,i1_0.dtype,i1_0.name,i1_0.price,i1_0.stock_quantity,i1_0.artist,i1_0.etc,i1_0.author,i1_0.isbn,i1_0.actor,i1_0.director from item i1_0 where array_contains('ar3: ARRAY [CAST(1 AS BIGINT), CAST(2 AS BIGINT), CAST(3 AS BIGINT), CAST(4 AS BIGINT)]',i1_0.item_id); 이 결과값에서 강의랑 다른 부분이 있어서 질문 드립니다 하이버네이트 6.2 라서 array_contains 인거 아는데 아래 부분이 이해가 안됩니다. select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.delivery_id=? 2023-10-09T19:14:55.677+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495677 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=? select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=1; 2023-10-09T19:14:55.677+09:00 DEBUG 2455 --- [nio-8080-exec-1] org.hibernate.SQL : select o1_0.order_id, o1_0.delivery_id, o1_0.member_id, o1_0.order_date, o1_0.status from orders o1_0 where o1_0.delivery_id=? 2023-10-09T19:14:55.678+09:00 INFO 2455 --- [nio-8080-exec-1] p6spy : #1696846495678 | took 0ms | statement | connection 7| url jdbc:h2:tcp://localhost/~/jpanew select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=? select o1_0.order_id,o1_0.delivery_id,o1_0.member_id,o1_0.order_date,o1_0.status from orders o1_0 where o1_0.delivery_id=2; orders 를 처음에 조회하고 나서 또 추가적으로 o1_0.delivery_id=? 이걸로 조회하는 결과가 왜 생기는걸까요?.. (배치사이즈도 강의랑 똑같이 100입니다) OrderApiController.java @GetMapping("/api/v3.1/orders") public List<OrderDto> ordersV3_page(@RequestParam(value ="offset",defaultValue = "0") int offset, @RequestParam(value ="limit",defaultValue = "100") int limit) { List<Order> orders = orderRepository.findAllWithMemberDelivery(offset,limit); List<OrderDto> result = orders.stream() .map(o -> new OrderDto(o)) .collect(Collectors.toList()); return result; } OrderRepository.java public List<Order> findAllWithMemberDelivery(int offset, int limit) { return em.createQuery( "select o from Order o" , Order.class ).setFirstResult(offset) .setMaxResults(limit) .getResultList(); } 이렇게 바꾸고 난 이후에 일어난 결과입니당.. 강의랑 In말고도 추가적으로 다른 부분이 있어서 질문드립니다 일단 제 스프링부트 버전은 3.1.3 입니다.

  • java
  • spring
  • spring-boot
  • jpa
ksg980105 댓글 2 좋아요 0 조회수 849

softdelete는 어떤 식은 test 코드를 짜야할까요?

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

jest 를 이용하여 테스트코드를 짜고 있는데 처음이라 너무 어렵네요. softdelete는 어떤식으로 테스트코드를 짜야될까요? 그리고 조인해서 결과 값을 뽑을 때 테스트코드를 어떻게 짜야할지 감이 안옵니다. 구글링해도 자료가 별로 없네여...

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
송원 댓글 2 좋아요 0 조회수 328

단방향 설정이 가능한지 궁금합니다!

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요! 강의영상에서는 가능한 많은 예제를 보여주려고 다양한 연관관계 매핑을 사용했다고 하셨는데 단방향을 지향하는 실무 관점에서 궁금한게 있습니다. Order N:1 Member => 다대일 단방향이 가능한지 OrderItem N:1 Order => 다대일 단방향이 가능한지 Order와 Delivery 관계에서 단방향이 안되는 이유 Item과 Category를 일대다, 다대일로 풀어내는게 맞는지 답변해주시면 감사하겠습니다!!

  • java
  • jpa
양양이 댓글 1 좋아요 0 조회수 315

nestjs+graphql로 작업할때 response도 dto로 만들어야하나요?

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

선생님, 질문두가지 드릴게요, 감사합니다 1. nestjs+graphql로 작업할때 response도 dto로 만들어야하나요? 2. class-validator를 entity에서 사용하고 dto를 pick, omit으로 상속받는게 좋나요? 아니면 dto들에서 따로 class-validator를 적용하는게 좋나요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
Chansoo 댓글 1 좋아요 0 조회수 631

mysql 신택스 오류 질문드립니다 ㅠㅠ

미해결

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

강의보는중에 workbench 에서 hostname을 작성하고 나머지 정보도 작성해서 test Connection을 해줘도 비밀번호가 틀리다고 하여 노션에 있는 방법대로 비밀번호를 초기화하는 중에 사진과 같이 신택스 오류가 났다고 하는데 도저희 어디가 잘못되었는지 몰라서 남겼습니다. 비밀번호는 강의 내용 그대로 따라 했습니다

  • HTML/CSS
  • javascript
  • aws
  • git
  • mysql
  • rest-api
  • github
대섭 댓글 2 좋아요 0 조회수 360

도커의 데이터베이스 컨테이너와 nestjs typeORM이 어떤 방식으로 연동되는지 궁금해요

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

docker-compose 에 있는 my-database의 연결 app.module.ts에 있는 typeOrmModule에 있는 데이터베이스 연결이 어떤 원리로 작동되는지 궁금합니다. my-database: image: mysql:latest environment: MYSQL_DATABASE: 'mydocker' MYSQL_ROOT_PASSWORD: 'root' ports: - 3306:3306 TypeOrmModule.forRoot({ //.env 파일은 모두 string 형태로 인식이 됩니다. 따라서, type과 port에 추가 설정을 해주었습니다. type: mysql, host: "localhost", port: 3306, username: "root", password: "12345678", database: practice, entities: [Board], synchronize: true, logging: true, })

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
송원 댓글 1 좋아요 0 조회수 516

CSS 정렬 강의 실습 중

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

코드 자동저장돼 있고 혹시몰라 수동저장 후 다시 라이브서버 켰는데 박스까지만 만들어지고 정렬이 전혀 되지 않으면서 아무 응답이 없는데 제가 혹시 코드를 잘못 쓴 부분이 있는걸까요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
ㅎㅇㄴ 댓글 1 좋아요 0 조회수 329

버퍼가 비워지는 시점

미해결

Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부

안녕하세요. Backpressure의 Drop 전략에서 버퍼가 비워질 때까지 Emit된 데이터가 Drop이 된다는 것은 이해했습니다. 그런데 1번 데이터가 subscriber에게 전달되어서 처리가 되면 버퍼에 자리가 한 자리 비게 되는데 왜 데이터가 계속 Drop이 되는건가요? (코드 실습에서 onNext()함수가 호출이 되어도 255,256,257 ~ 1024까지 모두 드랍됨) | 1, 2 | <-------- 3 듣랍 | 2, |. <-------- 4 드랍 (여기서 왜 4번 데이터는 안들어가나요?) | 5, 6 | Buffer DROP-LATEST를 보면 | 1, 2 | <---- 3들어오는 중 버퍼 가득 차서 drop | 2, 4 | <------ 1번이 버퍼에서 나가고 한 자리가 비어서 4번이 들어와짐 이런식으로 동작을 하는데 Drop은 이렇게 동작하지 않는 것 같아 버퍼가 어떻게 동작하는지 궁금하여 질문드립니다.

  • java
  • spring
  • project-reactor
  • webflux
jhjikhsdsdw 댓글 1 좋아요 1 조회수 364

도커 컴포즈 질문드립니다

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

yml파일,mongo 파일,Dockerfile 만들고 docker-compose build docker-compose up 하고 다른 쉘에서 docker ps했는데 아무것도 안뜹니다 파일은 제대로 따라 적었는데도 오류 뜨고 몽고 db는 삭제했고 몽고db 컴패스는 오류걸려서 그냥 삭제했습니다

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
kql 1 댓글 1 좋아요 0 조회수 412

로그인 프로세스 설명 중 질문

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

해당 장을 설명해주실 때 철수가 1050번째, 영희가 2050번째라고 가정했을때, 수직 파티셔닝 된 데이터베이스 중 어디에 있는지는 미리 알 수 있는 방법이 있을까요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
박호정 댓글 1 좋아요 1 조회수 297

productsSalesLocation.service create method

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

create({productSalesLocation}): Promise<ProductSalesLocation>{ return this.productsSalesLocationsRepository.save({...productSalesLocation}); } 강의 중 위와 같은 코드를 작성해주셨는데, create의 parameter type은 ProductSalesLocation(Entity)의 타입에서 id만 제외하고 사용하는 형태로 작성하는 것이 맞을까요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
박호정 댓글 1 좋아요 0 조회수 209

인기 태그

인프런 TOP Writers

주간 인기글