0
我試圖寫一個REST Web服務的Java客戶端,這樣定義REST Web服務:Java客戶端與Netbeans的
@Path("/")
public class Translator {
public Translator() { }
@POST
@Produces("application/json")
@Path("/translate")
public String translate(@QueryParam("dir") String dir, @QueryParam("string")String string, @QueryParam("user")String user, @QueryParam("key")String key){
return doTranslation(dir, string, user, key);
}
}
我曾嘗試使用NetBeans選擇「新建REST風格的Java客戶端」 ,爲REST源選擇包含web服務的項目。
但它會產生一個方法的類,它沒有參數:
public class NewJerseyClient {
private WebTarget webTarget;
private Client client;
private static final String BASE_URI = "http://localhost:8086/TranslatorREST/Translator";
public NewJerseyClient() {
client = javax.ws.rs.client.ClientBuilder.newClient();
webTarget = client.target(BASE_URI);
}
public String translate() throws ClientErrorException {
return webTarget.path("translate").request().post(null, String.class);
}
}
所以我不明白的方式將參數傳遞到Web服務。
如果我沒有啓用「Post QueryString」選項,那麼我可以成功地使用SoapUI中的這個Web服務,在這種情況下,Web服務對於所有參數都會收到「null」。
在此先感謝。