• Retrofit进行post提交json数据


    1:先看一看xutils3的提交代码

        
          String account = editText1.getText().toString(); String password = editText2.getText().toString(); JSONObject js_request = new JSONObject();//服务器需要传参的json对象 try { js_request.put("account", account);//添加相应键值对 js_request.put("password", password); } catch (JSONException e) { e.printStackTrace(); } RequestParams requestParams = new RequestParams(LOGIN_URL); requestParams.setAsJsonContent(true); requestParams.setBodyContent(js_request.toString()); x.http().post(requestParams, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { System.out.println("**ok"+result); try { JSONObject object = new JSONObject(result); String code = object.getString("code"); if (code.equals("1")) { // button.setClickable(false); //登录成功后获得id } else { // 登陆失败 } } catch (Exception e) { e.printStackTrace(); } } @Override public void onError(Throwable ex, boolean isOnCallback) { System.out.println("errot"); } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); }

       2:Retrofit提交过程

      2.1 登陆 urL 

      public static String LOGIN_URL = "http://114.xx.xxx.xx:8088/vdyweb/ws/rest/Login";
    

      

     interface APIStore {
    @Headers({"Content-Type: application/json","Accept: application/json"})//需要添加头 @POST ("vdyweb/ws/rest/Login") Call<ResponseBody>getMessage(@Body RequestBody info); // 请求体味RequestBody 类型
    } 
    public class Info {
        String account;
        String password;
    
        public Info(String account, String password) {
            this.account = account;
            this.password = password;
        }
    }
    

     

    public class MainActivity extends AppCompatActivity {
    public static String BASE_LOGIN_URL = "http://114.xx.xxx.xx:8088/"; Retrofit retrofit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Info info=new Info("test","123456");
      /*** 利用Gson 将对象转json字符串*/ Gson gson=new Gson(); String obj=gson.toJson(info); retrofit=new Retrofit.Builder().baseUrl(BASE_LOGIN_URL).build(); RequestBody body=RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"),obj); final APIStore login = retrofit.create(APIStore.class); retrofit2.Call<ResponseBody> data = login.getMessage(body); data.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(retrofit2.Call<ResponseBody> call, Response<ResponseBody> response) { Log.d(TAG, "onResponse: --ok--"+response.body()); try { Log.d(TAG, "onResponse: --ok--"+response.body().string()); } catch (IOException e) { e.printStackTrace(); } } @Override public void onFailure(retrofit2.Call<ResponseBody> call, Throwable t) { Log.d(TAG, "onResponse: --err--"+t.toString()); } });
    } }

    3:添加get请求

      apiStore加

        @GET("vdyweb/ws/rest/device/getOwnerDevice/2/2/20")
        Call<ResponseBody>getMessage2();
    

      

     retrofit2.Call<ResponseBody>data1=login.getMessage2();
            data1.enqueue(new Callback<ResponseBody>() {
                @Override
                public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
                    try {
                        Log.d(TAG, "onResponse: --ok--"+response.body().string());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                @Override
                public void onFailure(Call<ResponseBody> call, Throwable t) {
    
                }
            });
    

      

      

     

     

     

  • 相关阅读:
    4星|《激荡十年,水大鱼大》:过去十年间国内商业简史
    4星|《三联生活周刊》2017年47期:所谓“嬉皮精神”,说白了就是让每一个人都能在不影响其他人的前提下,过自己想要的生活
    3星|《三联生活周刊》2017年48期:联大外文系主任叶公超让学生念一句英语就能判断出学生的籍贯
    3星|《终身成长》:成长型思维让人进步,固定型思维让人固步自封。有新意的励志书,但有锤子模式的嫌疑。
    4星|《癌症新知:科学终结恐慌》:非常新鲜的癌症科普
    PL/SQL Developer使用技巧
    Oracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp...解决方法
    oracle数据库导入导出命令!
    如何完全卸载VS2010
    Oracle命令(一):Oracle登录命令
  • 原文地址:https://www.cnblogs.com/galibujianbusana/p/7891807.html
Copyright © 2020-2023  润新知