I am using jersey to create a web service . I do have a delete method in REST API, and I need to pass an ArrayList
from Jersey Client to the REST API. In there , my ArrayList
type is DrugNamesBean .
I have tried in this way but I have no idea about this.
Client client = ClientBuilder.newClient();
List<DrugNamesBean> drugNamesBeans=new ArrayList<DrugNamesBean>();
DrugNamesBean bean1=new DrugNamesBean();
bean1.setIdDrugName(23974);
DrugNamesBean bean2=new DrugNamesBean();
bean2.setIdDrugName(23975);
DrugNamesBean bean3=new DrugNamesBean();
bean3.setIdDrugName(23976);
drugNamesBeans.add(bean1);
drugNamesBeans.add(bean2);
drugNamesBeans.add(bean3);
WebTarget webTarget=client.target("http://localhost:8080/Rest/rest/drug_names")
.path("/deleteDrugNames").queryParam("list", drugNamesBeans);
String delete = webTarget.request(MediaType.APPLICATION_JSON_TYPE).delete(new GenericType<String>(){});
System.out.println("Deleted - " + delete);
Below is my REST API method
@DELETE
@Path("/deleteDrugNames")
public String deleteDrugNames(@QueryParam("list")List<DrugNamesBean> drugNamesBeans){
DrugNamesInterface drugNamesInterface=new DrugNamesTable();
String deleteDrugNames = drugNamesInterface.deleteDrugNames(drugNamesBeans);
return deleteDrugNames;
}
Have you any ideas about this ?
UPDATE
I could do above using jersey post
. Like below,
Client client = ClientBuilder.newClient();
List<DrugNamesBean> drugNamesBeans=new ArrayList<DrugNamesBean>();
DrugNamesBean bean1=new DrugNamesBean();
bean1.setIdDrugName(23977);
DrugNamesBean bean2=new DrugNamesBean();
bean2.setIdDrugName(23978);
DrugNamesBean bean3=new DrugNamesBean();
bean3.setIdDrugName(23979);
drugNamesBeans.add(bean1);
drugNamesBeans.add(bean2);
drugNamesBeans.add(bean3);
WebTarget webTarget=client.target("http://localhost:8080/Rest/rest/drug_names")
.path("/deleteDrugNames");
webTarget.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.entity(drugNamesBeans, MediaType.APPLICATION_JSON));
REST API method,
@POST
@Path("/deleteDrugNames")
@Consumes(MediaType.APPLICATION_JSON)
public String deleteDrugNames(List<DrugNamesBean> drugNamesBeans){
DrugNamesInterface drugNamesInterface=new DrugNamesTable();
String deleteDrugNames = drugNamesInterface.deleteDrugNames(drugNamesBeans);
return deleteDrugNames;
}
How could I use jersey delete
instead of jersey post
?