inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 기반 REST API 개발

Bad Request 응답

Bad Request에 대한 응답 강의관련 디버깅 질문

421

창신동 장첸

작성한 질문수 115

0

강의에서 Errors객체의 내부 값을 확인하기 위해 중단점을 찍고 디버깅버튼을 눌렀을 때 중단점위치 소스에서 진행이 멈춘 것을 확인할 수 있었습니다.

그러나 저는 ConstructorResolver.java라는 소스에서 멈췄는데요. 원했던 중단점 위치가 아니라 이상한 소스에서 멈춘 이유를 알고싶습니다.

강의에서 jsonPath에 대한 테스트실패까지 잘 따라왔는데 위 디버깅은 강의내용과 다르게 흘러가고 있습니다.  아래 캡쳐는  디버깅버튼을 누른 후 나온 내용입니다.

spring rest-api java

답변 1

0

백기선

안녕하세요. 화면에 잡힌 코드를 보고 짐작하건데.. 아마도 원하시는 디버깅 포인트를 지나가기 전에 저 위치에서 에러가 발생했기 때문일겁니다. 그리고 에러가 발생한 위치가 . UnsatisfiedDependencyException인걸 보니 아마도 의존성에 문제가 있어 보입니다.

코드를 실행하는데 필요한 모든 빈들이 제대로 설정이 되어있는지 다시 확인해 보시고 실행해 보세요.

0

창신동 장첸

선생님, 제공해주신 소스를 참고해서 pom.xml과 application.properties를 비교해봤는데요

모두  동일한 것 같습니다. 아래는 제가 설정한 의존성및 application.properties의 설정입니다.

 

의존성은 security설정만 주석을 했고 

application.properties는 fail-on-unknown-properties만 true로 설정하고 나머지는 뒷 강의에서 진행될 내용이라 넣지 않았습니다.

[pom.xml]

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>me.whiteship</groupId>
<artifactId>rest-api-with-spring</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rest-api-with-spring</name>
<description>rest-api-with-spring</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/org.modelmapper/modelmapper -->
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.1</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.security.oauth.boot</groupId>-->
<!-- <artifactId>spring-security-oauth2-autoconfigure</artifactId>-->
<!-- <version>2.1.0.RELEASE</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>

<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>pl.pragmatists</groupId>
<artifactId>JUnitParams</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.security</groupId>-->
<!-- <artifactId>spring-security-test</artifactId>-->
<!-- <version>${spring-security.version}</version>-->
<!-- <scope>test</scope>-->
<!-- </dependency>-->
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>1.5.8</version>
<executions>
<execution>
<id>generate-docs</id>
<phase>prepare-package</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<backend>html</backend>
<doctype>book</doctype>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-asciidoctor</artifactId>
<version>${spring-restdocs.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>

</project>

 

[application.properties]

spring.jackson.deserialization.fail-on-unknown-properties=true

 

위 정보로 어떤 의존성이 누락됐는지 확인하기 어려울 경우 다른 해결방법이 있는지 궁금합니다.

감사합니다.

 

 

 

Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter

0

84

1

junit5 사용하시는 분들

0

99

1

자바 빈 스펙을 준수하는지 체크하는 테스트

0

255

2

REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러

0

257

1

스프링 부트 3버전에서의 실습

0

196

1

java.lang.AssertionError: Status

0

541

2

spring doc 관련 파일 생성 관련 배포 관련 질문 드립니다.

0

292

1

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

0

744

1

강의 자료가 404입니다 확인 부탁 드려요!

0

482

1

연동 DB문의

0

368

1

이벤트 Repository강의 중 Event 클래스에 private Integer Id; 위치 질문

0

509

1

(Mac) postgressql 관련하여 port kill 해도 다시 살아나는 경우

0

387

0

maven으로 생성한 docs파일(index.html)에서의 not found 오류 질문

0

636

1

테스트 오류 질문드립니다.

0

518

1

docs 요청값이 반영이 안되네요... (해결)

-1

399

1

psql 적용 후 에러

0

825

2

mvn package 시 다음과 같은 에러가 나시면

0

769

2

Event에 Account manager를 추가했으면 문서화 필요

0

277

1

2년 훨씬 전 부터 Restlet-> Talend API 로 바뀌었습니다~

1

475

1

asciidoc 추가 스니펫 에러 해결법

0

403

1

_links 는 현재 fieldWithPath 를 해주지 않아도 됩니다.

0

431

3

깃랩 처음 사용자를 위한 index.adoc raw 보는 법

0

338

1

eclipse 쓰시는 분을 위한 maven-resources-plugin 팁

0

342

1

부트 + jupiter 인 경우 설정법

0

346

1