inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

postman 응답 결과에 대한 질문입니다.

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요! 선생님 강의를 재밌고 유익하게 수강하고 있는 학생입니다. 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 강의의 bean validation - HTTP 메시지 컨버터 부분을 수강하던 중 강의 내용과 제 결과 케이스의 다른 부분이 있어 다른 결과가 나오게 된 원인이 궁금하여 질문 드립니다! 강의와 결과가 달랐던 부분은 postman으로 실패 요청을 send했을 때의 응답 결과 입니다. 강의의 결과입니다. { "timestamp": "2021-04-20T00:00:00.000+00:00", "status": 400, "error": "Bad Request", "message": "", "path": "/validation/api/items/add" } 제가 실행한 결과입니다. { "timestamp": "2021-04-20T00:00:00.000+00:00", "status": 400, "error": "Bad Request", "path": "/validation/api/items/add" } 보이는 바와 같이, 제가 실행한 결과에서는 message에 대한 json 객체가 존재하지 않습니다. 혹시 스프링 부트의 버전과 관련된 부분에 있어서 차이가 있을까요? 현재 사용 중인 스프링 부트 버전은 2.7.11 버전입니다.

  • spring
  • mvc
  • postman
  • request
  • response
  • api
fnzktm1598 댓글 1 좋아요 1 조회수 498

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

미해결

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

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

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

API 테스트로 전환하기

미해결

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

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

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

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

미해결

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

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

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

API의 정의 질문

해결됨

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

큰돌님, 안녕하세요. 강의 잘 듣고있습니다! 학습 중에 궁금증이 있어서 질문 올립니다. API를 뭐라고 정의해야 될까요??? 큰돌님 강의 교안 19페이지에서는 API를 '둘 이상의 컴퓨터 프로그램이 서로 통신하는 방법이자 컴퓨터 사이에 있는 중계 계층의 의미'라고 적어주셨는데요, 강의 교안 185페이지 REST API 파트에서는 API를 '소프트웨어와 소프트웨어 사이에서 데이터 전송을 가능하게 하는 프로그램'이라고 적어주셨습니다. 그 외에도, 인터넷으로 API의 정의에 대해 찾아보면 '소프트웨어 간의 통신 규약'이라고 나오는 등 정의가 애매모호한 것 같습니다. 기술면접에서 API에 대해서 질문이 들어올 경우, 어떻게 답하는게 가장 깔끔할까요?? 아니면, 어떻게 답해도 상관이 없을까요???

  • 면접
  • 기술면접
  • 네트워크
  • api
떠돌이공대생 댓글 1 좋아요 0 조회수 577

안녕하세요 선생님, API 실습 2 강의를 듣다 궁금한 점이 생겨 질문 드립니다.

해결됨

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

API는 변동 내용이 바로 반영이 안 된다는 것을 학습할 수 있었습니다. 만약 변경 내용을 바로 반영하고 싶다면 어떻게 해야 하는지 그리고 API는 수정한 데이터를 저장까지 했는데 바로 반영이 안 되는지 궁금합니다.

  • 기술면접
  • 운영체제
  • 면접
ppoyami 댓글 2 좋아요 0 조회수 583

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

해결됨

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

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

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

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

미해결

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

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

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

port와 adapter에 대해

미해결

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

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

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

속도감..

미해결

실전! 스프링부트 상품-주문 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 조회수 1493

.ast

미해결

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

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

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

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

미해결

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

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

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

재밌게 잘 보고있습니다.

미해결

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

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

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

테스트 코드 작성할 때 이미 작성했던 코드 어떻게 나오게 해서 선택하시나요?

해결됨

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

테스트 코드 Assert.isTrue 작성할 때 이미 작성했던 코드가 나와서 선택만 해주시던데 어떻게 나오게 해서 선택하시나요? 플러그인이나 어떤 옵션이 있으신가요?

  • tdd
  • spring-boot
  • spring-boot
  • pojo
  • pojo
  • api
  • api
아라레 댓글 1 좋아요 0 조회수 1159

공부 중에 궁금한게 있습니다.

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 백이 뷰 템플릿을 활용해서 뷰 렌더링을 해주는 경우가 요즘도 프로젝트를 진행할 때 많나요 ? 대부분 HTTP(REST) API로 데이터 전송으로 프론트랑 주고 받는 것인지, 아니면 웹 퍼블리셔 요청대로 동적 html 부분도 서버가 만드는 경우가 흔한건지 궁금합니다.

  • 뷰템플릿
  • http
  • MVC
  • spring
  • api
백엔드공부화이팅 댓글 1 좋아요 0 조회수 970

api 작성중에 enum type 문의 드립니다.

해결됨

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

이전 jpa활용 1편에서 작성했던 부분들을 api로 변경을 진행중입니다. 다른 부분들은 잘 진행되고있지만 java 기초가 부족해서 enum으로 만든 OrderStatus부분을 어떻게 처리해야될지 감이 잡히질 않아 문의드립니다. 처음 주문 내역페이지를 호출 할 때 주문상태(OrderStatus) 부분을 api로 받아 select 구성을 해야합니다. 이 때 enum을 배열로 변환(?)해서 넘기는게 맞는 방법일까요? 조회시 주문상태(OrderStatus)와 회원이름을 form으로 넘길때 Controller에서는 @RequestBody OrderSearch로 받으며 주문상태는 OrderStatus로 선언되어있습니다. 자동 맵핑이 안되는거같은데 enum type을 request로 어떻게 받아야하는지 궁금합니다. 질문이 잘 전달되었을지 모르겠지만 답변부탁드리겠습니다. 감사합니다.

  • springboot
  • spring
  • api
  • java
  • enum
  • JPA
  • spring-boot
열스님 댓글 1 좋아요 1 조회수 1394

restfual api 개발할때

미해결

스프링 시큐리티 OAuth2

안녕하세요 선생님. 지금가지 선생님의 강의를 바탕으로 oauth 를 사용하는 프로젝트를 구축하는데 있어 궁금점이 생겨 질문드립니다. 소셜로그인 인증 챕터 부분에서는 전형적인 session 인증 방식인데 restful api 서버 개발시에는 어떻게 설정해야할까요? 대안으로 찾아본바 successHandler 를 커스텀하게 설정하여 jwt 로 암호화해서 서버 api로 리다이렉트 시 쿼리파라미터에 jwt를 넣어 프론트에게 jwt 를 전달하는데 이 방식이 맞나요? 또한 강의에서 restfual api 에 대해 다루신다면 어느 챕터에서 확인할 수 있을까요?

  • rest
  • api
  • oauth
  • spring-boot
  • java
  • spring
장대영 댓글 1 좋아요 0 조회수 579

React에서 오픈API 사용 시 CORS 에러

미해결

안녕하세요. 과제로 공공데이터 오픈API를 사용해서 웹을 하나 만들게 되었습니다. api에서 자료를 받아오는 과정에서 cors에러가 발생해 해결하려다가 결국 혼자서 해결이 안되어 질문 드립니다. package.json에 { ... "proxy": "http://openapi.molit.go.kr" ... }를 작성하고 실행했을 때 이런 에러코드가 발생하며 npm start가 진행되지 않습니다. 터미널에서 npm install http-proxy-middleware 설치 후 /src/setupProxy.js file 생성, 다음과 같이 코드 작성 npm start 시 접속이 불가능 도대체 어떻게 해야 cors에러를 해결가능할까요... 아무리 찾아봐도 이 두가지 방법밖에 안나오는데 두가지 다 적용이 안되니 답답해 죽겠습니다..

  • react
  • cors
  • api
장준수 댓글 0 좋아요 0 조회수 728

인기 태그

인프런 TOP Writers

주간 인기글