调用REST Web服务的资源

时间:2011-05-25 00:13:59

标签: java rest

我正在编写REST Web服务。这是一个Web服务片段:

@Path("/first")
public class InitialResource
{ 
 @GET
    @Path(value="/{input}/{location}/{category}/{session}")    
    @Produces({"application/xml", "text/html"})
    public List<Message> getMessage(@PathParam("input") String input, @PathParam("location") String location, @PathParam("category") String category, @PathParam("session") String session) throws NotFoundException
    {
        if(date.recentUpdate(location) == false)// if false, the checking of category update was run later than 1 hour ago
        {
            user.dropTable(); // invokes method which checks if you need to drop any user's intermediate results table

            if(version.getVersion(location)== true) // if version of category did not change
            {
            }
            else
            {// version of category old; updates list of category for a specific country
             updateCategory.getCategoryList(id.getSiteId(location));
            }
        }
       return search.runSearch(input, location, category, session.split("\\.")[1]);
    }
}

如果您通过此URI

调用它
http://localhost:8080/Project/resources/first/cat/EBAY-IE/1/0.123

您收到404 HTTP错误。

下面还有一个资源。

 @GET
 @Produces("text/html")
 public String getMess( ) {
  return "hello";
 }

如果您使用此URI调用服务

http://localhost:8080/Project/resources/first    

屏幕上显示“hello”字符串。 为什么我不能用指定的路径调用第一个资源?

1 个答案:

答案 0 :(得分:1)

感谢您的建议,尽管问题出在其他地方。我通过客户端(浏览器)访问Web服务时遇到HTTP 404错误。使用URI我无法连接到服务器。我只需要更新端口。然后我更新了客户端代码(Javascript)访问服务的路径。服务系统运行良好。感谢