2017-03-28 47 views
-1

我需要在java类中调用index()方法。但我试过这种方式,它不工作。AnjularJs与Spring启动集成

controller.jsconsole.log('coming here....');正在上升,此后http路径无法识别。

@RestController 
public class DatumBoxShedule { 

    @Autowired 
    private DatumService datumService; 

    @RequestMapping(value = "/loadIndex", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET) 
    public String index() throws IOException { 

    } 
} 

controller.js

app.controller('datumBoxShedule', function($scope, $http) { 
    $scope.newTodo = {}; 

    $scope.loadIndex = function(){ 
     console.log('coming here....'); 
     $http.get('loadIndex') 
     .success(function(data, status, headers, config) { 
      $scope.todos = data; 
     }) 
     .error(function(data, status, headers, config) { 
       alert('Error loading DatumBoxShedule'); 
     }); 
    }; 

    $scope.loadIndex(); 
}); 
+0

尝试检查状态码,它很可能是404,这意味着您需要提供绝对路径:'$ http.get('/ loadIndex')...'。您可以直接从浏览器访问Rest API端点,或使用Postman等浏览器扩展来检查请求/响应。 – sm4

+0

我试过$ http.get('/ loadIndex'),但仍然出现同样的错误。 – WPS

+0

哪个后端REST服务的基础上下文?通常你会有'http:// host:port/* myApp */loadIndex' –

回答

0

是Spring项目的角项目的一部分?

其他映射是否正常工作(换句话说:REST服务正在运行)? 如果不是的话:你的依赖关系中是否有像Tomcat这样的嵌入式容器?

例如,你可以添加为Tomcat的依赖到项目中:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
</dependency> 
+0

是的,我已经添加了它,问题仍然存在 – WPS

+0

你能从浏览器的调试控制台提供错误消息? – Pastafari

+0

404错误即将到来 – WPS

0

我figureout,问题不是在anujularjs.Issue是在春天。

我componantscan不工作

包main.java.datumbox;

@Configuration @SpringBootApplication @EnableAutoConfiguration(排除= {DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) @ComponentScan({ “main.java.datumbox.service.impl”,“main.java.datumbox.controller ”, “main.java.datumbox.service”}) 公共类的应用{

public static void main(String[] args) throws Exception { 

    SpringApplication.run(Application.class,args); 

} 

}

包main.java.datumbox.service.impl;

公共类DatumServiceImpl {

@Autowired(required = true) 
DatumDataRepository datumDataRepository; 

}

包main.java.datumbox.controller;

@RestController 公共类DatumBoxController {

@Autowired 
private DatumService datumService; 

@Autowired 
private DatumServiceImpl datumServiceImpl; 


@RequestMapping(value = "/loadIndex" , produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET) 
public String index() throws IOException { 

} 

}

包main.java.datumbox.service;

@Service 公共类DatumService {

@Autowired 
HitApiService hitApiService; 

}

错误来了..


应用程序未能启动


描述:

领域datumServiceImpl在main.java.datumbox.controller.DatumBoxController所需类型main.java.datumbox.service的”一个豆。 impl.DatumServiceImpl'找不到。

操作:

考虑您的配置定义类型的豆 'main.java.datumbox.service.impl.DatumServiceImpl'。