[英]HTTP request doesn't work with a paricular rest
我正在制作一個充滿各種休息服務的應用程序,所以我創建了一個一對一的 HTTP 類,以允許客戶端應用程序通過休息不斷向服務器應用程序詢問信息
public HttpURLConnection HTTPSENDJSON(String urlAPI,String out,String requestmethod) throws IOException {
URL url = new URL(urlAPI);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestMethod(requestmethod);
conn.setDoOutput(true);
conn.setDoInput(true);
OutputStream os = conn.getOutputStream();
System.out.println(out);
os.write(out.getBytes());
os.flush();
os.close();
return conn;
urlAPI 是所需的 URL,一個字符串是 JSON 字符串(我使用的是 GSON),而 requestmethod 是一個字符串,以便從 PUT\\POST\\GET\\PATCH 切換。
所以,正如我所寫的,如果我需要從 DB\\insert a new record ATM 檢索信息,我的客戶端應用程序調用服務器,該服務器調用 EJB 以便 CRUD 信息,這一切都可以。 這是調用上層方法的客戶端方法(HTTPSENDJSON)
public String modifica() throws IOException {
Universal_HTTPREQUEST httprequest = new Universal_HTTPREQUEST();
String url= "http://localhost:8080/ModuloWebClientNuovo/rest/clientela/modifica/account/"+ac.getId()+"";
Gson g = new Gson();
String out=g.toJson(ac, Account.class);
httprequest.HTTPSENDJSON(url, out,"PUT");
這是工作(至少與郵遞員)服務
@PUT
@Path("modifica/account/{id}")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response modificaaccount(@PathParam("id") int id,Account a) {
System.out.println("i'm inside the api and i wrote: "+ a.toString());
ac.updateAccount(a);
return Response.status(200).entity(a).build() ;
}
客戶端甚至不調用服務器,但只有這個特定的休息,其他工作正常。
更新帳戶 EJB 是:
@Stateless
public class AccountEJB implements IAccountCrud {
@EJB
Iconnessioni x;
@Override
public void updateAccount(Account account) {
EntityManager entityManager=x.apriconnessione();
entityManager.merge(account);
x.chiudiconnessione(entityManager);
}
}
修復了一個新的從頭開始的野蠅
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.