Org.apache.cxf.jaxrs.client.WebClient
Get Call
@GET @Path ("/echo/{input}") @Produces ("Text/plain") public String Ping (@PathParam ("Input") string input) { return input; }
@Test publicvoidthrows Exception { = webclient.create ( ServerURL + "/c/echo/sierratangonevada"); = Client.accept ("Text/plain"). get (); Assertequals (Response.Status.OK.getStatusCode (), R.getstatus ()); = ioutils.tostring ((InputStream) r.getentity ()); Assertequals ("Sierratangonevada", value); }
Post Call
@POST @Produces ("Application/json") @Consumes ("Application/json") @Path ("/jsonbean") public Response modifyjson (Inputbean input) { Input.setval2 ( Input.getval1 ()); return Response.ok (). Entity (Input). build (); }
@Test Public voidTestjsonroundtrip ()throwsException {//list<object> providers = new arraylist<object> ();//Providers.add (New Org.codehaus.jackson.jaxrs.JacksonJsonProvider ());List<org.codehaus.jackson.jaxrs.JacksonJsonProvider> Provider = Collections.singletonlist (NewOrg.codehaus.jackson.jaxrs.JacksonJsonProvider ()); Inputbean Inputbean=NewInputbean (); Inputbean.setval1 ("Maple"); WebClient Client= Webclient.create (ServerURL + "/c/jsonbean"), provider); Inputbean Jsonbean=client.accept (Mediatype.application_json). Type (Mediatype.application_json). Post (INPUTBEAN,INP Utbean.class); System.out.println (Jsonbean.tostring ());//assertequals (Response.Status.OK.getStatusCode (), R.getstatus ());//Mappingjsonfactory factory = new Mappingjsonfactory ();//jsonparser parser = Factory.createjsonparser ((inputstream) r.getentity ());//Jsonbean output = Parser.readvalueas (Jsonbean.class);//assertequals ("Maple", Output.getval2 ());}
Create
Get
WebClient org.apache.cxf.jaxrs.client.WebClient.create (String baseaddress)
Post
WebClient org.apache.cxf.jaxrs.client.WebClient.create (String baseaddress, list<?> providers)
New Arraylist<object>();p roviders.add (new org.codehaus.jackson.jaxrs.JacksonJsonProvider ()) ;
List<org.codehaus.jackson.jaxrs.jacksonjsonprovider> Provider = collections.singletonlist (new Org.codehaus.jackson.jaxrs.JacksonJsonProvider ());
Set MIME
// Set HTTP Accept Header // Set HTTP Content-type Header // Javax.ws.rs.core.MediaType webclient.accept (Mediatype.application_json). Type (Mediatype.application_json);
Post
Public <T> T Post (Object body, class<t> responseclass)
For example:
New Jsonbean (); = client.accept (mediatype.application_json). Type (Mediatype.application_json). Post (Inputbean, Jsonbean. class);
CXF-RS Client Invocation