ユーザーからデータを受け取り、そのデータを Web サービスに送信して操作を実行します。クロールを行っているため、ユーザーからURLも受け取ります。
しかし、URLをパスパラメータとして送信すると、「/」が含まれているため問題が発生します。したがって、データを渡すためにXML/JSONを使用する必要があります。
私は Web で多くのことを検索しましたが、Web サービスでいくつかの値を設定し、それらを使用することについて誰もが話しています。[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());
//ここから Web サービスに何を送信するかについて、非常に混乱しています。
Response response1=service.path("hello").accept(MediaType.TEXT_PLAIN).get(Response.class);
System.out.println(response1.getStatus());