2015-04-07 3 views
0

Я реализую простую операцию CRUD с использованием весенних успокоительных веб-сервисов и угловых js.I пытается загрузить все детали при загрузке страницы. Но не получив ответа.Spring MVC-Response не получается от контроллера с использованием углового

Контроллер: -

@RestController 
public class EmployeeController { 

    public List<Employee> appList=new ArrayList<Employee>(); 
    @RequestMapping(value="/employee",method=RequestMethod.GET) 
    public ModelAndView loadEmployee(){ 
     return new ModelAndView("employee", "webemployee", new Employee()); 

    } 
    @RequestMapping(value="/employees",method = RequestMethod.GET,headers="Accept=application/json") 
     public List<Employee>loadAllApps() { 
     Employee app=new Employee(); 
     System.out.println(".........................loadAllApps............."); 
     app.setAppID("test_id"); 
     app.setAppName("test_name"); 
     appList.add(app); 
     return appList; 

     } 
    @RequestMapping(value="/employees/insert/{appID}/{appDescr}",method = RequestMethod.POST,headers="Accept=application/json") 
     public List<Employee> addApps(@PathVariable String appID,@PathVariable String appDescr) throws ParseException { 
     System.out.println("appID"+appID+"appDescr..........."+appDescr); 
     Employee app=new Employee(); 
     app.setAppID(appID); 
     app.setAppName(appDescr); 
     appList.add(app); 
     return appList; 

     } 
} 

Jsp: -

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html ng-app="AppManger"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>WebService Example</title> 
<script data-require="[email protected]*" data-semver="1.2.13" src="http://code.angularjs.org/1.2.13/angular.js"></script> 

</head> 
<div ng-controller="appController"> 
<div> 
<table> 
    <tr ng-repeat="app in appList"> 
    <td >{{ app.appID }}</td> 
    <td >{{ app.appName }}</td> 
    </tr> 
    </table> 
</div> 

<script type="text/javascript"> 
var appModule = angular.module('AppManger', []); 

appModule.controller('appController', function ($scope,$http) { 

    var url="http://localhost:8080/Apps"; 
    $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; 

    $http.get(url+'/employee'). 
    success(function(data, status, headers, config) { 
     alert(status); 
     $scope.appList = data; 
    }); 


}); 
</script> 
</script> 
</html> 

, когда я пытаюсь проверки значения состояния в $ http.get method.its не показывая никаких предупреждений message.Please дайте мне знать какие проблемы здесь.

+0

Пожалуйста, проверьте журнал консоли браузера на наличие ошибок. Также добавьте ошибку обратного вызова 'error', чтобы узнать, что такое ошибка. – Chandermani

+0

Да. Он показывает «Не удалось загрузить ресурс: сервер ответил статусом 404 (Not Found)». Но я могу видеть контроллер System.out.println также – tech2504

+0

Возможно, ваш адрес неверен. Попробуйте напрямую загрузить данные из браузера или использовать почтальон – Chandermani

ответ

0

Вы, кажется, обратитесь к/сотрудника конечной точки, но ожидает список сотрудников, потому что назначая ответ данных к:

$scope.appList = data;

Во-первых, изменить это к другой конечной точке вы создали (/ сотрудников) который возвращает список.

Что такое сервлет-путь вашего сервлета-диспетчера mvc? Это был бы мой первый пункт отказа проверить. Я вижу, что вы звоните:

var url="http://localhost:8080/Apps";

Означает ли это, что вы развернуть приложение в контексте «Apps» или в том, что ваш сервлет путь? Если это имя контекста, то я предполагаю, что mvc разрешен для «корневого» пути, то есть «/». Если нет, проверьте, что такое сервлет-путь для диспетчера и добавьте его в свой URL-адрес (на стороне клиента). Это объясняет, почему вы получаете 404. А также убедитесь, что вы можете вызвать ваш API непосредственно в браузере, чтобы исключить ошибки на стороне сервера, как предлагал пользователь Chandermani.

Смежные вопросы