• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.10.06 06:47 작성 조회수 271

0

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

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

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

답변 1

답변을 작성해보세요.

0

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

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

선생님, 제공해주신 소스를 참고해서 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

 

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

감사합니다.