创建RESTful Web服务时,@ Path注释无法正常工作

时间:2016-09-26 16:52:00

标签: java web-services rest

我正在使用jaxrs 2.23.2版创建一个简单的RESTful Web服务。但@Path无法正常工作。 服务类

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中提供/ User / Services,则控制台中不会打印任何内容。 例如:

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

1 个答案:

答案 0 :(得分:1)

System.out.println()方法在服务器端打印,因此文本不会按预期发送到客户端。要在Web浏览器中将消息视为文本,您需要返回一个String作为响应:

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

你可以在这里找到一个简单的休息示例(转到6.3.Java类部分): http://www.vogella.com/tutorials/REST/article.html