강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của wjdwoals0425611
wjdwoals0425611

câu hỏi đã được viết

Học React 19 qua mã nguồn cùng API Server Spring Boot

REST 방식 컨트롤러 만들기(1)

REST 방식 컨트롤러 만들기에서 익스플로러에 데이터 값이 출력 안됩니다

Viết

·

106

·

Đã chỉnh sửa

0

TodoController 파일 만들고 Api서버로 스프링 기동시키고 todo경로에 tno 값을 입력해도 익스플로러 화면에 제이슨데이터 값이 표시되지 않습니다 DB상에 있는 데이터로 입력을 해도 나오지 않는 걸 보면 제이슨 설정이 잘못된게 아닌가 싶은데 답변 부탁드립니다

아래에 로그 남겨둡니다

오전 11:13:21: 실행 중 ':org.zerock.apiserver.ApiserverApplication.main()'…

Starting Gradle Daemon...

Gradle Daemon started in 915 ms

> Task :clean

> Task :compileJava

> Task :processResources

> Task :classes

> Task :org.zerock.apiserver.ApiserverApplication.main()

. ____ _ __ _ _

/\\ / ___'_ __ _ ()_ __ __ _ \ \ \ \

( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \

\\/ ___)| |_)| | | | | || (_| | ) ) ) )

' |____| .__|_| |_|_| |_\__, | / / / /

=========|_|==============|___/=/_/_/_/

:: Spring Boot :: (v3.4.1)

2025-03-01T11:13:29.675+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.zerock.apiserver.ApiserverApplication : Starting ApiserverApplication using Java 21.0.5 with PID 12000 (C:\Users\zzamp\Desktop\apiserver\apiserver\build\classes\java\main started by zzamp in C:\Users\zzamp\Desktop\apiserver)

2025-03-01T11:13:29.678+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.zerock.apiserver.ApiserverApplication : No active profile set, falling back to 1 default profile: "default"

2025-03-01T11:13:29.704+09:00 INFO 12000 --- [apiserver] [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable

2025-03-01T11:13:29.704+09:00 INFO 12000 --- [apiserver] [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'

2025-03-01T11:13:30.098+09:00 INFO 12000 --- [apiserver] [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.

2025-03-01T11:13:30.139+09:00 INFO 12000 --- [apiserver] [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 35 ms. Found 1 JPA repository interface.

2025-03-01T11:13:30.495+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)

2025-03-01T11:13:30.506+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]

2025-03-01T11:13:30.506+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.34]

2025-03-01T11:13:30.539+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2025-03-01T11:13:30.539+09:00 INFO 12000 --- [apiserver] [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 835 ms

2025-03-01T11:13:30.669+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]

2025-03-01T11:13:30.725+09:00 INFO 12000 --- [apiserver] [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.4.Final

2025-03-01T11:13:30.754+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled

2025-03-01T11:13:30.942+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer

2025-03-01T11:13:30.966+09:00 INFO 12000 --- [apiserver] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...

2025-03-01T11:13:31.039+09:00 INFO 12000 --- [apiserver] [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.mariadb.jdbc.Connection@77e52237

2025-03-01T11:13:31.040+09:00 INFO 12000 --- [apiserver] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.

2025-03-01T11:13:31.082+09:00 INFO 12000 --- [apiserver] [ restartedMain] org.hibernate.orm.connections.pooling : HHH10001005: Database info:

Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)']

Database driver: undefined/unknown

Database version: 10.11.10

Autocommit mode: undefined/unknown

Isolation level: undefined/unknown

Minimum pool size: undefined/unknown

Maximum pool size: undefined/unknown

2025-03-01T11:13:31.519+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)

2025-03-01T11:13:31.555+09:00 INFO 12000 --- [apiserver] [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'

2025-03-01T11:13:31.810+09:00 WARN 12000 --- [apiserver] [ restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning

2025-03-01T11:13:32.040+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729

2025-03-01T11:13:32.059+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'

2025-03-01T11:13:32.064+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.zerock.apiserver.ApiserverApplication : Started ApiserverApplication in 2.638 seconds (process running for 2.905)

2025-03-01T11:13:57.170+09:00 INFO 12000 --- [apiserver] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'

2025-03-01T11:13:57.170+09:00 INFO 12000 --- [apiserver] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'

2025-03-01T11:13:57.171+09:00 INFO 12000 --- [apiserver] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms

Hibernate: select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=?

Hibernate: select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=?

Hibernate: select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=?

reactspring-bootjpajwtredux-toolkit

Câu trả lời 4

0

wjdwoals042님의 프로필 이미지
wjdwoals042
Người đặt câu hỏi

답변 감사합니다 확인해보니 TodoServiceImpl에 오버라이드 TodoDTO return값이 null이었던 게 원인이었습니다

0

zk202308a5410님의 프로필 이미지
zk202308a5410
Người chia sẻ kiến thức

우선은 컨트롤러에서 tno 값이 정상적인지 로그를 찍어서 확인해 주시고.

 

select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=?

 

의 실행 결과를 확인해 보셔야 할 듯 합니다.

혹시 DB에 커밋이 안되어 있을 수도 있으니 커밋도 한 번 하시는게 좋습니다.

 

 

0

wjdwoals042님의 프로필 이미지
wjdwoals042
Người đặt câu hỏi

@RestController 어노테이션에 @GetMapping 파라미터와 리턴 값을 고정값으로 설정하고 테스트해봤는데 익스플로러 화면에 고정값이 출력된 게 확인됐습니다 json 설정은 문제가 없어보이는데 어디가 문제인지 전혀 모르겠습니다

0

안녕하세요, 인프런 AI 인턴입니다.

wjdwoals042님이 겪고 있는 문제 상황은 REST 컨트롤러에서 데이터를 올바르게 가져오지 못하는 상황으로 보입니다. 몇 가지 확인할 수 있는 사항들을 안내드리겠습니다.

문제 진단 및 해결책

  1. 엔드포인트 매핑 확인

    • TodoController 클래스의 @RequestMapping 어노테이션이 올바르게 설정되어 있는지 확인하세요. 예를 들어, @GetMapping("/todo/{tno}")와 같은 형태로 tno 값을 URL로 받을 수 있어야 합니다.
  2. DTO의 toString() 메서드 오버라이드 여부

    • 데이터 객체가 제대로 직렬화되지 않아 JSON 형태로 변환이 이루어지지 않는 경우일 수 있습니다. DTO 클래스에 toString() 메서드가 올바르게 오버라이드되어 있는지 확인하세요.
  3. JSON 설정 확인

    • 프로젝트 내 application.properties 또는 application.yml에 JSON 설정이 올바르게 되어 있는지 확인하세요. 또한, 필요하다면 @ResponseBody 어노테이션을 검사하시고, 데이터 객체를 반환할 때 JSON 형태로 직렬화되는지 확인하세요.
  4. 데이터베이스 내 데이터 확인

    • 데이터베이스에 올바른 tno를 가진 레코드가 존재하는지 확인해주세요. 예를 들어, Hibernate 쿼리가 정확히 수행되고 있지만 실재 데이터가 존재하지 않아 화면에 표시되지 않을 수 있습니다.

유사한 사례 및 추가 도움

아래와 같은 유사한 문제를 다룬 사례들이 질문 해결에 도움이 될 수 있습니다:
- “QTodo Class Not found”: 클래스 파일이 누락되었거나 잘못된 경우.
- “테이블이 생성되지 않습니다”: JPA 및 DB 관련 문제 해결 사례.

저는 질문자님의 이해를 돕고자 기존 답변을 참고하여 유사한 질문의 답변 링크를 제시하고 있습니다. 현재 베타 기능으로 인해 만족스럽지 않은 답변일 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của wjdwoals0425611
wjdwoals0425611

câu hỏi đã được viết

Đặt câu hỏi