2017-06-12 31 views
0

私はジャージバックエンドでanglejsを使用しています。私はhttp http postメソッドを使用している角度からhttpリクエストを送信していますが、私はPOJOクラスを使用してバックエンドで解析しようとしています。ポストメソッドを使用してバックエンドにキーを送信し、バックエンドはそのキーに関するデータのリストをデータベースから返します。しかし、私はこれを行うとエラーが発生します。 "http://localhost:8081/hibernate-jersey-angularjs/rest/leave/list 405(メソッドが許可されていません)"を取得GET 405 405(方法が許可されていません)エラー

私のタラです

@POST 
 
\t @Path("/list") 
 
\t @Consumes({MediaType.APPLICATION_JSON}) 
 
\t @Produces({ "application/json" }) 
 
\t public List<LeaveQueue> list(numPojo s) { 
 
\t \t List<LeaveQueue> l= new ShowLeaveDao().getAllLeaves(); 
 
\t \t Iterator i=l.iterator(); 
 
\t \t while(i.hasNext()) 
 
\t \t { 
 
\t \t \t LeaveQueue m=(LeaveQueue)i.next(); 
 
\t \t \t System.out.println(m.getNum()); 
 
\t \t } 
 
\t \t 
 
\t \t return l; 
 
\t }

と私のコントローラ

app.controller("MyDbController", function($scope, $http,mynum,myname) { 
 
    //$scope.data = [{title: 'welcome hello'},{title: 'great testing'}]; 
 
\t $scope.test={}; 
 
\t test.num=mynum; 
 
\t var jsonData=JSON.stringify(test); 
 
\t console.log("InsideListController"+jsonData); 
 
\t 
 
    $http({ 
 
    \t url:"rest/leave/list", 
 
    \t method:"POST", 
 
    \t data: jsonData, 
 
    \t  headers: {'Content-Type': 'application/json'} \t 
 
    }).success(function(data, status, headers, config) { 
 
     $scope.data = data; 
 
    }).error(function(data, status, headers, config) { 
 
     alert("error from leave list controller"); 
 
    }) 
 
});

と私のweb.xmlの

<?xml version="1.0" encoding="UTF-8"?> 
 
<!-- This web.xml file is not required when using Servlet 3.0 container, see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html --> 
 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
 
    <welcome-file-list> 
 
    <welcome-file>trial.html</welcome-file> 
 
    <welcome-file>index.jsp</welcome-file> 
 
    </welcome-file-list> 
 
    <servlet> 
 
    <servlet-name>Jersey Web Application</servlet-name> 
 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
 
    <init-param> 
 
     <param-name>jersey.config.server.provider.packages</param-name> 
 
     <param-value>com.abc.rest</param-value> 
 
    </init-param> 
 
    <load-on-startup>1</load-on-startup> 
 
    </servlet> 
 
    <servlet-mapping> 
 
    <servlet-name>Jersey Web Application</servlet-name> 
 
    <url-pattern>/rest/*</url-pattern> 
 
    </servlet-mapping> 
 
</web-app>

助けてください。

+0

あなたのURLが正しいかどうかチェックしてください。 – Jaiwo99

答えて

0

あなたのコードでは、あなたのリソースは@Post注釈を使用しています。つまり、このリソースはPostメソッドでしか呼び出せません。

+0

正確に私のポイントです。私は投稿方法だけを使用しています –

+0

あなたのエラーは "GET http:// localhost:8081/hibernate-jersey-angularjs/rest/leave/list 405(メソッドは使用できません) "。私はそれがGETメソッドだと思う。 – oracode

関連する問題