How to call RESTFUL services from GWT?

前端 未结 6 1170
小蘑菇
小蘑菇 2020-12-08 10:59

I\'m using GWT as web development framework. I need to access some REST services from my GWT client code. Also I need to parse JSON (or maybe XML) which is response format o

6条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-08 11:04

    The below source of code used RequestBuilder to post a request to RESTFUL Webservice using GWT

    JSONObject jsonObject = new JSONObject();
    
    email = (String) vslLoginView.getFieldUserEmailID().getValue();
    password = (String) vslLoginView.getFieldUserPasword().getValue();
    
    jsonObject.put("email", new JSONString(email));
    jsonObject.put("password", new JSONString(password));
    System.out.println("Password at Presenter:"
        + jsonObject.get("password"));
    RequestBuilder builder = new RequestBuilder(RequestBuilder.POST,
        RecursosURL.LOGIN.toString()/*your restful webservice url */ + "/authenticateuser");
    builder.setHeader("Content-Type", "application/json");
    try {
        SC.showPrompt(constants.wait());
        builder.sendRequest(jsonObject.toString(),
            new SamrtWebRequestCallback(false, false, false, false) {
    
                @Override
                public void onSuccess(Response response) {
                    // Recevie response of logged user data from  restful webservice
                    JSONObject jsonOnlineUser = JSONParser.parse(
                        response.getText()).isObject();
                    UserTO userTO = ConverterUser
                        .converterJSONParaUser(jsonOnlineUser);
                    String primaryAccess = jsonOnlineUser.get(
                        "primaryAccess").isString().stringValue();
    
                    HashMap parameters = new HashMap();
                    if (primaryAccess.equals("S")) {
    
                        parameters.put("email", email);
                        parameters.put("password", password);
                        parameters.put("id", jsonOnlineUser.get("id")
                            .isString().stringValue());
    
                    } else {
    
                        parameters.put("email", email);
                        handlerManager.fireEvent(new EvtIrParaPage(
                            Pages.PAGE_INICIAL, parameters));
                    }
    
                }
    
                @Override
                protected void onErrorCallbackAdapter(Response response) {
                    vslLoginView.getLabelMsgErro().setContents(
                        response.getText());
                    vslLoginView.getLabelMsgErro().setVisible(true);
                }
            });
    
    } catch (RequestException e) {
        e.printStackTrace();
    }
    

提交回复
热议问题