在restful webservice GET / POST中使用XML / Object

时间:2013-10-04 06:52:52

标签: xml web-services rest jaxb jersey

我接受来自用户的数据,然后将该数据发送到网络服务以执行某些操作。因为我正在做一些抓取工作,我也接受来自用户的网址

但是当我发送url作为路径参数时,它会产生问题,因为它中有“/”。所以我需要使用XML / JSON来传递数据。

我在网上搜索了很多,但每个人都在谈论在Web服务中设置一些值然后使用它们。 [http://howtodoinjava.com/2012/11/26/writing-restful-webservices-with-hateoas-using-jax-rs-and-jaxb-in-java/]

在我的情况下,用户设置值,而webservice使用这些值。在webservices中使用数据的方式是什么。

XmlModel.java

@XmlRootElement(name = "XmlModel")

public class XmlModel 
{

  public String domain,url,no,css;

  public String getdomain()
  {
      return  domain;
  }

  public String geturl() 
  {
      return  url;
  }

  public String getnopages() 
  {
      return  no;
  }

  public String getcss() 
  {
      return  css;
  }

  public void setdomain(String domain) 
  {
    this.domain = "domain:"+domain;
  }
  public void seturl(String url) 
  {
    this.url = "url:"+url;
  }
  public void setnopages(String no) 
  {
    this.no = "no_pages:"+no;
  }
  public void setcss(String css) 
  {
    this.css = "css:"+css;
  }

}

服务您好

@GET

@Consumes("application/json")

public Response GetURL() throws ClassNotFoundException, SQLException, IOException 
{

XmlModel x=new XmlModel();

String css=x.getcss();
String url=x.geturl();
String no_pages=x.getnopages();
String domain=x.getdomain();

String status=null;
try
{
    Document doc=Jsoup.connect(url).userAgent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0").get();
    status="[Status=200].Successfully submitted for Crawling ";
}
catch(Exception e)
{
    status="[Status=300].URL Incorrect";
}

return Response.status(201).entity(status).build();
}

测试客户端

XmlModel x=new XmlModel();
//This is the place where i set the values 
x.setcss(css);
x.setdomain(domain);
x.setnopages(no_pages);
x.seturl(url1);

System.out.println(x.getcss()+x.getnopages());

//我对从这里发送到网络服务的内容感到非常困惑。

Response response1=service.path("hello").accept(MediaType.TEXT_PLAIN).get(Response.class);
System.out.println(response1.getStatus());

0 个答案:

没有答案