2016-06-27 1 views
-1

내가 @RestController와 @RequestMapping은 restfull API 서비스 프로젝트를 만들어 사용하려면,하지만 난 모든 애플 리케이션을 얻을 수 appDao.findAll()를 사용할 때, 중첩 excepion를 얻을 코드와 같은 :봄 부팅 Restfull의 API를 얻을 : 중첩 excepion

App.java

@Entity 
@Table(name = "apps") 
public class App { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private long id; 


    @NotNull 
    private String name; 

    public App() { } 

    public App(String name, User user) { 
     this.name = name; 
     this.user = user; 
    } 

    public long getId() { 
     return id; 
    } 

    public void setId(long id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    @ManyToOne(fetch=FetchType.LAZY) 
    @JoinColumn(name = "user_id") 
    private User user; 

    public User getUser(){ 
     return user; 
    } 

    public void setUser(User user) { 
     this.user = user; 
    } 

    @Override 
    public String toString(){ 

     return "AppName: " + name; 
    } 


} 

User.java

@Entity 
@Table(name = "users") 
public class User { 

    // ------------------------ 
    // PRIVATE FIELDS 
    // ------------------------ 

    // An autogenerated id (unique for each user in the db) 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private long id; 


    // The user's email 
    @NotNull 
    private String email; 

    // The user's name 
    @NotNull 
    private String name; 

    @NotNull 
    private Integer age; 

    // ------------------------ 
    // PUBLIC METHODS 
    // ------------------------ 

    public User() { } 

    public User(long id) { 
     this.id = id; 
    } 

    public User(String name) { 
     this.name = name; 
    } 

    public User(String email, String name, Integer age) { 
     this.email = email; 
     this.name = name; 
     this.age = age; 
    } 

    // Getter and setter methods 

    public long getId() { 
     return id; 
    } 

    public void setId(long value) { 
     this.id = value; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String value) { 
     this.email = value; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String value) { 
     this.name = value; 
    } 

    public Integer getAge() { 
     return age; 
    } 

    public void setAge(Integer value) { 
     this.age = value; 
    } 

    @OneToOne(cascade = CascadeType.ALL) 
    @JoinColumn(name = "car_id") 
    private Car car; 
    public Car getCar() { 
     return car; 
    } 

    public void setCar(Car car) { 
     this.car = car; 
    } 

    @OneToMany(targetEntity=App.class, mappedBy="user", fetch=FetchType.EAGER, cascade=CascadeType.ALL) 
    private Set<App> apps; 

    public Set<App> getApps() { 
     return apps; 
    } 

    public void setApps(Set<App> apps) { 
     this.apps= apps; 
    } 

    public void addApps(Set<App> apps) { 
     this.apps.addAll(apps); 
    } 

    @Override 
    public String toString() { 
     String result = String.format(
       "User[id=%d, name='%s']%n", 
       id, name); 
     if (apps != null) { 
      for(App app : apps) { 
       result += String.format(
         "app[id=%d, name='%s']%n", 
         app.getId(), app.getName()); 
      } 
     } 

     return result; 
    } 
} // class User 

AppDao.java

@Transactional 
public interface AppDao extends JpaRepository<App, Long> { 

    /** 
    * This method will find an User instance in the database by its email. 
    * Note that this method is not implemented and its working code will be 
    * automagically generated from its signature by Spring Data JPA. 
    */ 

} 

AppController.java

@RestController 
@RequestMapping("/apps") 
public class AppController { 

    @Autowired 
    private AppDao appDao; 

    @RequestMapping("/") 
    public List<App> getAll() { 
     List<App> apps = appDao.findAll(); 
     return apps; 
    } 
} 

홈페이지 자바 :

다음
@SpringBootApplication 
@EnableAutoConfiguration 
public class MysqlDemoApplication implements CommandLineRunner { 

    public static void main(String[] args) { 
     SpringApplication.run(MysqlDemoApplication.class, args); 
    } 

    @Override 
    @Transactional 
    public void run(String... strings) throws Exception { 
    } 

} 

방문 : http://localhost:8080/apps/ 상자의 예외를 얻을 : 왜?

역 추적 : 첫째

com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:149) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:111) ~[jackson-databind-2.6.6.jar:2.6.6] 
     at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:24) ~[jackson-databind-2.6.6.jar:2.6.6] 

    2016-06-28 11:01:18.675 ERROR 90592 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet dispatcherServlet threw exception 

    java.lang.IllegalStateException: getOutputStream() has already been called for this response 
     at org.apache.catalina.connector.Response.getWriter(Response.java:564) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:212) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:109) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView.render(ErrorMvcAutoConfiguration.java:195) ~[spring-boot-autoconfigure-1.3.5.RELEASE.jar:1.3.5.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1246) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1029) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:973) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:720) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:523) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:439) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:304) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:399) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:179) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_65] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_65] 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65] 

    2016-06-28 11:01:18.678 ERROR 90592 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost]   : Exception Processing ErrorPage[errorCode=0, location=/error] 

    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: getOutputStream() has already been called for this response 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:979) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:720) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:523) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:439) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:304) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:399) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:179) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_65] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_65] 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.0.33.jar:8.0.33] 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65] 
    Caused by: java.lang.IllegalStateException: getOutputStream() has already been called for this response 
     at org.apache.catalina.connector.Response.getWriter(Response.java:564) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:212) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:109) ~[tomcat-embed-core-8.0.33.jar:8.0.33] 
     at org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView.render(ErrorMvcAutoConfiguration.java:195) ~[spring-boot-autoconfigure-1.3.5.RELEASE.jar:1.3.5.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1246) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1029) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:973) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE] 
     ... 37 common frames omitted 
+1

표시되지 않는 항목이 있습니다.문제를 재현하는 샘플을 공유하면 설명에 많은 코드가 표시됩니다. –

+0

애플리케이션 메인 클래스를 보여줍니다. 편집 : 및/또는 전체 스택 추적 – patrykos91

+0

감사합니다. 질문을 업데이트합니다. = appDao.findAll() '''자바 공개 목록 를 getAll() { 목록 애플 리케이션; –

답변

0

, 당신은 컨트롤러 클래스에서 직접 DAO 코드를 호출합니까? 나쁜 연습으로 간주됩니다. 두 클래스 사이에 Service 클래스가 있어야합니다.

두 번째로, 응용 프로그램이 경로/오류 아래에 오류 화면을 렌더링하려고 할 때 제공 한 스택 추적은 오류에 관한 것입니다.이 전에는 스택 추적이 있습니까? 올바르게 패키지를 지정합니까, 이것이 당신의 Spring 설정에 약간의 오류가 있어야 작동하지 않는 경우

@RequestMapping(path = "/", method = RequestMethod.GET) 

: -

문제를 따르면, 즉 방법에 대한 귀하의 RequestMapping에 HTTP 방법을 지정하려고 구성 요소를 검색 하시겠습니까? Spring Boot에서 @SpringBootApplication을 사용할 때 검사 할 모든 패키지는이 주석으로 클래스 아래에 있어야합니다.

UPDATE

는 REST의 웹 서비스를 통해 순환 종속성이있는 개체를 반환하지 마십시오 - 새로운 DTO 클래스, 데이터베이스에서 가져온지도 엔티티를 생성하고 웹 서비스에서 반환. 여기

상세 정보 : 물론 http://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application

당신이 다른 매핑 라이브러리를 사용할 수 있습니다 원한다면, 내 개인 좋아하는 당신이 잘못 헤더을 그대로 사용하는 것처럼

+0

나는 그 debugg System.out.println ("*************"); System.out.println (apps.size()); 앱 돌아 가기; 이 데이터베이스 (5 개) 기록이지만, } ''' 내가 HTTP를 방문 할 때 : // localhost를 : 8080/응용 프로그램/내가 가지고 많은 반복 중첩 기록, 같은 [{ "ID"317 " 이름 ":"사용자 A ","연령 ": 19,"자동차 ": null"이름 ":"BA ","사용자 ": {"id ": 131,"이메일 ":"[email protected] " , "apps": [ "id": 317, "name": "BA", "user": { "id": 131, "email": "[email protected]", "name": "User A ","age ": 19,"ca –

+0

내 대답의 "업데이트"섹션을 참조하십시오. – mdziob

0

이 보이는 Orika (http://orika-mapper.github.io/orika-docs/intro.html)입니다. 당신이 웹 브라우저에서 서비스를 요청하려는 경우이 요청은 응용 프로그램/XHTML + XML 값을 표준 헤더 값을 가질 것이며, 그것은

당신은 예를 응용 프로그램에 대한 JSON과 올바른 헤더 값을 가질 필요가 문제를 야기/json. 우편 배달부와 같은 요청을 위해 다른 도구를 사용하십시오.