我正在接受来自用户的数据,然后将该数据发送到 Web 服务以执行一些操作。因为我正在做一些爬虫,所以我也接受来自用户的URL 。
但是当我将 url 作为路径参数发送时,它会产生问题,因为它有“/”。所以我需要使用 XML/JSON 来传递数据。
我在网上搜索了很多,但每个人都谈到在网络服务中设置一些值,然后使用这些值。[http://howtodoinjava.com/2012/11/26/writing-restful-webservices-with-hateoas-using-jax-rs-and-jaxb-in-java/]
而在我的情况下,用户设置值并且 Web 服务使用这些值。在 Web 服务中使用数据的方式是什么。
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());