2016-09-26 18 views
-1

jaxrsバージョン2.23.2を使用して簡単なRESTful Webサービスを作成しています。しかし、@Pathは動作しません。 サービスクラス@PathアノテーションがRESTful Webサービスの作成中に動作しない

package com; 

import javax.ws.rs.DELETE; 
import javax.ws.rs.GET; 
import javax.ws.rs.POST; 
import javax.ws.rs.PUT; 
import javax.ws.rs.Path; 

@Path("/User/Services") 
public class UserServices { 
    @PUT 
    @Path("/create") 
    public void createUser(){ 
     System.out.println("Inside createUser"); 
    } 
    @GET 
    public void getUser(){ 
     System.out.println("Inside getUser"); 
    } 
    @POST 
    public void updateUser(){ 
     System.out.println("Inside updateUser"); 
    } 
    @DELETE 
    public void deleteUser(){ 
     System.out.println("Inside deleteUser"); 
    } 
} 

のWeb.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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" id="WebApp_ID" version="2.5"> 
    <display-name>RestFullTest</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>myrest</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>  
    </servlet> 
    <servlet-mapping> 
    <servlet-name>myrest</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

これを作成した後、私は、ブラウザのURLに/ユーザー/サービスを与えている場合は、何もコンソールに印刷されていない取得されます。 例えば:あなたが予想されるとして、サーバー側の

http://localhost:8089/RestFullTest/rest/User/Services 
+0

あなたはどのメソッドを呼びたいのですか? '/ User/Services'はクラスレベルで言及されていますが、メソッドレベルはどうですか? – Bikku

+0

getUser()メソッドを呼び出したいと思います。 – Vivek

+0

は 'getUser()'メソッドレベルで '@Path("/getuser ")'のようなものを使用し、 'http:// localhost:8089/RestFullTest/rest/User/Services/getuser'のようになります。方法から何かを取得したいのですが、戻り値の型が無効なのはなぜですか? – Bikku

答えて

1

System.out.println()方法を印刷するので、テキストは、クライアントにオーバー送信されません。あなたがここに簡単な休息の例を見つけることができます

@GET 
public String getUser(){ 
    return "Inside getUser"; 
} 

(6.3に行くJavaクラスのセクションを。)::あなたが応答として文字列を返す必要がWebブラウザでテキストとしてメッセージを表示するには http://www.vogella.com/tutorials/REST/article.html

+0

これはコンソールに表示されます。しかし、コンソールには何も表示されません – Vivek

+1

web.xmlにある myrest org.glassfish.jerseyのJersey ServletコンテナにRESTサーブレットパッケージを登録する必要があります。 servlet.ServletContainer ​​jersey.config.server.provider.packages コムは行わ ' – uday

+0

その。 ありがとう、 – Vivek

関連する問題