无法使用rest和angularjs访问指定的URL

时间:2017-05-22 13:18:34

标签: angularjs rest

我试图使用angularjs从html表单中使用REST api获取数据并对其执行一些db操作。我得到404错误的其余链接特别。 这是我的js代码

var app=angular.module("myApp",[]);
app.controller("mycon",function($scope,$http){
	console.log("entered here");
	$scope.test={};
	$scope.add = function() {
		console.log("entered here");
	var json=JSON.stringify($scope.test);
	console.log($scope.test);
	console.log(json);
	
$http({
	    url: "rest/xyz/role",
	    method: "GET",
	    data: json,
	    headers: {'Content-Type': 'application/json'}
    	
    })
    .success(function(data, status,header,config) {
       
            $scope.data = data;
            
        
    }).error(function(data, status,header,config) {
        alert("error");
    });
		

	
}});
<body ng-app="myApp" ng-controller="mycon">

<center>
<h2> Login Here! </h2>
<hr/>
	<form >
	
		<table>
		<tr>
			<td>Signum Id:</td> 
			<td><input type="text" ng-model="test.sig"/></td>
		
		</tr>
		
		<tr>
	  <button class="btn waves-effect waves-light" type="submit" ng-click="add()" name="action"> Submit <i class="material-icons right">send</i>
		</tr>
		</table>
		
		
	</form>
</center>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/js/materialize.min.js"></script>


</body>

我的REST代码就在这里。

@Path("/xyz")

public class RestServices {

@GET
@Path("/role")
@Produces({ "application/json" })
public String list() {
    //do db operation

}

}

在服务器上部署并运行项目后,我收到以下错误: http://localhost:8080/LoginEmployee/rest/xyz/role“404 NOT FOUND”。

2 个答案:

答案 0 :(得分:0)

在web.xml中添加servlet映射为“rest / *”。并检查项目名称,该名称应为“LoginEmployee”

答案 1 :(得分:0)

尝试从rest/ param中删除$http

  

url: "xyz/role",