私はジャージーを使用してWebサービスを作成しています。 REST APIにdeleteメソッドがあり、ArrayList
をJersey ClientからREST APIに渡す必要があります。そこに、私のArrayList
タイプはDrugNamesBeanです。jerseyのurlでArrayListを送信するには?
私はこの方法で試しましたが、私はこれについて考えていません。以下は
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);
私のREST APIのメソッド
@DELETE
@Path("/deleteDrugNames")
public String deleteDrugNames(@QueryParam("list")List<DrugNamesBean> drugNamesBeans){
DrugNamesInterface drugNamesInterface=new DrugNamesTable();
String deleteDrugNames = drugNamesInterface.deleteDrugNames(drugNamesBeans);
return deleteDrugNames;
}
はあなたにこのことについてどんな考えを持っていますか?
UPDATE
私はjersey post
を使用して、上記行うことができます。以下のように、
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のメソッド、
@POST
@Path("/deleteDrugNames")
@Consumes(MediaType.APPLICATION_JSON)
public String deleteDrugNames(List<DrugNamesBean> drugNamesBeans){
DrugNamesInterface drugNamesInterface=new DrugNamesTable();
String deleteDrugNames = drugNamesInterface.deleteDrugNames(drugNamesBeans);
return deleteDrugNames;
}
どのように私はjersey delete
の代わりjersey post
を使用することができますか?一般に
RESTは単なるメークアップではありません。 DELETEは、URIによって識別されるリソースを「削除」するために使用される残りの動詞です。 –
@ScaryWombat:OK ....だから、あなたは間違ったキーワードを使用したことを意味しますか?私はPOSTを使うべきですか? – Barrier
ここに行くhttp://www.restapitutorial.com/ –