Retrofit2学习之二:Retrofit 转换器

Converter简介

Retrofit转换器可以实现响应对象 ResponseBody 至 JavaBean对象的转换。

Wiki:https://github.com/square/retrofit/wiki/Converters

Retrofit2 Converters

Gson - com.squareup.retrofit2:converter-gson
Jackson - com.squareup.retrofit2:converter-jackson
Moshi - com.squareup.retrofit2:converter-moshi
Protobuf - com.squareup.retrofit2:converter-protobuf
Wire - com.squareup.retrofit2:converter-wire
Simple Framework - com.squareup.retrofit2:converter-simpleframework
Scalars - com.squareup.retrofit2:converter-scalars
- LoganSquare - com.github.aurae.retrofit2:converter-logansquare
- FastJson - org.ligboy.retrofit2:converter-fastjson or org.ligboy.retrofit2:converter-fastjson-android

Converter使用

以Gson转换器为例,实现JSON响应体和JavaBean对象转换。

配置gradle

在app模块的build.gradle配置

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

创建业务请求接口

public interface Api {

    @GET("user/info?id=1")
    Call<User> getUserInfo();

}

创建一个Retrofit的实例,并配置转换器,然后利用Retrofit实例创建接口对象和调用接口方法

public void getRequestConverter(View view) {
    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(SERVER_ADDRESS)
            .addConverterFactory(GsonConverterFactory.create())  //配置Gson转换器,调用Gson库解析json返回值
            .build();

    Api api = retrofit.create(Api.class);

    api.getUserInfo().enqueue(new Callback<User>() {
        @Override
        public void onResponse(Call<User> call, Response<User> response) {
            //在UI主线程运行
            if (response.isSuccessful()) {
                Log.i(TAG, "返回成功");
                User user = response.body();
                if (user != null) {
                    Toast.makeText(MainActivity.this, user.getUsername(), Toast.LENGTH_SHORT).show();
                }
            }
        }

        @Override
        public void onFailure(Call<User> call, Throwable t) {
            Log.i(TAG, "请求失败: " + t.getLocalizedMessage());
        }
    });
}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/25/retrofit2-learning-2-retrofit-converter/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Retrofit2学习之二:Retrofit 转换器
Converter简介 Retrofit转换器可以实现响应对象 ResponseBody 至 JavaBean对象的转换。 Wiki:https://github.com/square/retrofit/wiki/Converters Retrofit……
<<上一篇
下一篇>>
文章目录
关闭
目 录