私が行ってきた作業の一部として、Swiftアプリケーションで使用されているWebServicesを持つファイルが与えられました。私はWebServicesに慣れておらず、構文理解を通じてJavaだけを知っています。私はこれらの取得の1つを、迅速なアプリケーションからのパラメータで呼び出す必要があります。何よりも私が最初に理解しようとしているのは、関連するURLのパラメータを使ってこれらのWebサービスの1つを呼び出す方法です。例えばダウンI以下の方法url javaplayを通じてパラメータを設定する
http://localhost:9000/ListVehicleByPlateNumber
を呼び出すしたいと私はURL経由のパラメータを指定したいと言う
http://localhost:9000/ListVehicleByPlateNumber?para="123"
しかし、これはパラメータに任意の値を割り当てていないし、私のようなもの結果が得られない。関数に使用されている文字列が "123"になるようにハードコードすれば、私が探している結果が得られます。私はちょうど私が構文的に、URLを介してこのパラメータを渡すことができるかを知る必要があります。
ルートは、それは私自身の答えを見つけ
public List<NewVehicleModel> searchByPlateVehicle(String plateNumber){
Transaction t = Ebean.beginTransaction();
List<NewVehicleModel> vehicles = new ArrayList<>();
try {
String sql = "SELECT V.idNewVehicle, V.VehicleType,V.PlateNumber,V.VehicleJurisdiction,V.State,V.Vin,V.Year, " +
"V.Make,V.modelos,V.RegistrationNumber,V.InsuranceCompany,V.PurchaseDate,V.ExpirationDate,V.idPersonaFK " +
"FROM NewVehicle V " +
"WHERE V.PlateNumber = :plateNumber";
RawSql rawSql = RawSqlBuilder.parse(sql)
.columnMapping("V.idNewVehicle", "idNewVehicle")
.columnMapping("V.State", "state")
.columnMapping("V.VehicleType", "vehicleType")
.columnMapping("V.PlateNumber", "plateNumber")
.columnMapping("V.VehicleJurisdiction", "vehicleJurisdiction")
.columnMapping("V.Vin", "vin")
.columnMapping("V.Year", "year")
.columnMapping("V.Make", "make")
.columnMapping("V.modelos", "modelos")
.columnMapping("V.RegistrationNumber", "registrationNumber")
.columnMapping("V.InsuranceCompany", "insuranceCompany")
.columnMapping("V.PurchaseDate", "purchaseDate")
.columnMapping("V.ExpirationDate", "expirationDate")
.columnMapping("V.idPersonaFK", "idPersonaFK")
.create();
Query<NewVehicleModel> query = Ebean.find(NewVehicleModel.class);
query.setRawSql(rawSql)
.setParameter("plateNumber", plateNumber);
vehicles = query.findList();
t.commit();
}
catch (Exception e){
System.out.println(e.getMessage());
}finally {
t.end();
}
return vehicles;
}