Retrofit http 请求
2018-02-03 11:41
162 查看
https://www.jianshu.com/p/1fb294ec7e3b
http://square.github.io/retrofit/
可以参考这2篇文章:
公司年会抽奖的:
接口:获取服务器的状态(用于判断是否可以开始抽奖)
url:
http://192.168.16.105:8080/getServerStatus
method: Get
success: {"id":1,"start":0,"code":3}
error: {"code":-1,"error":"失败原因"}
id: 可以不用管
start: start=1时可以开始抽奖,为0时不能抽奖
code : 这个代表是第几轮抽奖
接口:将分数上传到服务器
url:
http://192.168.16.105:8080/uploadData
method: post
body: {"name":"zhangsan","score":"12"}
success: {"code":0}
error: {"code":-1,"error":"失败原因"}
name: 姓名
score: 分数,1-10
name: 姓名
score: 分数,1-10
http://square.github.io/retrofit/
可以参考这2篇文章:
公司年会抽奖的:
接口:获取服务器的状态(用于判断是否可以开始抽奖)
url:
http://192.168.16.105:8080/getServerStatus
method: Get
success: {"id":1,"start":0,"code":3}
error: {"code":-1,"error":"失败原因"}
id: 可以不用管
start: start=1时可以开始抽奖,为0时不能抽奖
code : 这个代表是第几轮抽奖
接口:将分数上传到服务器
url:
http://192.168.16.105:8080/uploadData
method: post
body: {"name":"zhangsan","score":"12"}
success: {"code":0}
error: {"code":-1,"error":"失败原因"}
name: 姓名
score: 分数,1-10
name: 姓名
score: 分数,1-10
Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .baseUrl("http://192.168.16.105:8080/") .build(); /** * get请求 * */ HotRest service = retrofit.create(HotRest.class); Call<Success> call = service.getHot(); call.enqueue(new Callback<Success>() { @Override public void onResponse(Call<Success> call, Response<Success> response) { Toast.makeText(LoginActivity.this,"Success", Toast.LENGTH_LONG).show(); //请求成功操作 Success success=response.body(); Log.i("------",response.toString()+"===="+response.body()+"==error=="+success.error+"==code=="+success.code+"==id=="+success.id); } @Override public void onFailure(Call<Success> call, Throwable t) { //请求失败操作 Toast.makeText(LoginActivity.this,"Throwable",Toast.LENGTH_LONG).show(); Log.i("------",t.toString()+"===="); } }); /** * post请求 */ HotRestPost servicePost = retrofit.create(HotRestPost.class); JSONObject jsonObject=new JSONObject(); jsonObject.put("name","理解"); jsonObject.put("score","8"); Call<Success> successCall=servicePost.PostHot(jsonObject); successCall.enqueue(new Callback<Success>() { @Override public void onResponse(Call<Success> call, Response<Success> response) { Success success=response.body(); Log.i("--post----",response.toString()+"===="+response.body()+"==error=="+success.error+"==code=="+success.code+"==id=="+success.id); } @Override public void onFailure(Call<Success> call, Throwable t) { Log.i("---post---",t.toString()+"===="); } });
public interface HotRestPost { @POST("uploadData") Call<Success> PostHot(@Body JSONObject jsonObject); }
public interface HotRest { @GET("getServerStatus") Call<Success> getHot(); }
public class Success { public int id; public int start; public int code; public String error; }
Retrofit:中要用到的包
compile 'io.reactivex:rxjava:x.y.z' compile 'io.reactivex:rxandroid:1.0.1' compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
由于用到了Post请求,使用了JsonObject传递数据,所以导入:
compile 'com.alibaba:fastjson:1.1.56.android'代码很low,仅供参考。
相关文章推荐
- Retrofit,OkHttp拦截器,RxJava封装请求网络
- 打造属于自己的网络请求框架(OKHttp+Retrofit+RxJava)
- 用 Retrofit 2 简化 HTTP 请求
- android网络请求框架的学习之路——浅谈对Volley,OkHttp,Retrofit的了解与对比
- 关于解决用Retrofit直接发送json请求时被OKHTTP加了一个key: nameValuePairs
- Android Retrofit2&OkHttp3添加统一的请求头Header
- Android Retrofit2&OkHttp3添加统一的请求头Header
- 用 Retrofit 2 简化 HTTP 请求
- 网络请求框架(OKHttp+Retrofit+RxJava)
- 用 Retrofit 2 简化 HTTP 请求
- kotlin for android----------MVP模式下(OKHttp和 Retrofit+RxJava)网络请求的两种实现方式
- Android主流网络请求开源库的对比(Android-Async-Http、Volley、OkHttp、Retrofit)
- 用 Retrofit 2 简化 HTTP 请求
- 用 Retrofit 2 简化 HTTP 请求
- 开始在Android上使用Retrofit并创建Http请求客户端
- 使用Retrofit进行Http、Https网络请求(快速上手)
- retrofit http取消请求