retrofit_jackson序列化的使用

之前整理的一遍retrofit

pom.xml

<dependency>
    <groupId>com.squareup.retrofit2</groupId>
    <artifactId>retrofit</artifactId>
    <version>2.3.0</version>
</dependency>

<dependency>
    <groupId>com.squareup.retrofit2</groupId>
    <artifactId>converter-jackson</artifactId>
    <version>2.3.0</version>
</dependency>

Api接口

package com.qbsea.mysboot2shirojwt.common.utils.qbseaapi;

import com.qbsea.mysboot2shirojwt.common.mybatis.entities.customed.TUserJwtshiroSub;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;

public interface QbseaApi {
	@GET("apitest/custom/response/1.ajax")
	Call<TUserJwtshiroSub> testresponse(@Query("appid") String appId, @Query("secret") String secret, @Query("js_code") String code,
			@Query("grant_type") String grantType);
}

注入APi接口的Bean

package com.qbsea.mysboot2shirojwt.common.utils.qbseaapi;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
@Configuration
public class QbseaConfiguration {
	@Value("${qbsea.url}")
	private String url;
	@Bean
	QbseaApi qbseaApi(ObjectMapper objectMapper) {
		Retrofit retrofit = new Retrofit.Builder()
				.baseUrl(url)
				.addConverterFactory(JacksonConverterFactory.create(objectMapper))
				.build();
		return retrofit.create(QbseaApi.class);
	}
}

调用入口

@SpringBootApplication
@MapperScan(basePackages = "com.qbsea.mysboot2shirojwt")
public class ShiroJwtMain {
	public static void main(String[] args) throws IOException {
		ConfigurableApplicationContext context = SpringApplication.run(ShiroJwtMain.class, args);
		QbseaApi qbseaApi = (QbseaApi) context.getBean("qbseaApi");
		Call<TUserJwtshiroSub> tUserJwtshiro = qbseaApi.testresponse(null, null, null, null);
		System.out.println("========"+tUserJwtshiro.execute().body().getUsername());
	}
}

涉及到的参考报文

{"id":1,"name":"马庆斌","username":"maqingbin","password":"password","salt":"salt","islocked":true,"createTime":"2018-10-17 17:25:29","updateTime":"2018-10-17 17:25:29"}

涉及到model类

package com.qbsea.mysboot2shirojwt.common.mybatis.entities.generated;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

public class TUserJwtshiroSub{
    private Long id;

    private String name;

    private String username;

    private String password;

    private String salt;

    private Boolean islocked;

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

    public TUserJwtshiro(Long id, String name, String username, String password, String salt, Boolean islocked, Date createTime, Date updateTime) {
        this.id = id;
        this.name = name;
        this.username = username;
        this.password = password;
        this.salt = salt;
        this.islocked = islocked;
        this.createTime = createTime;
        this.updateTime = updateTime;
    }

    public TUserJwtshiro() {
        super();
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username == null ? null : username.trim();
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt == null ? null : salt.trim();
    }

    public Boolean getIslocked() {
        return islocked;
    }

    public void setIslocked(Boolean islocked) {
        this.islocked = islocked;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}

之前整理的一遍retrofit​​​​​​​

猜你喜欢

转载自blog.csdn.net/maqingbin8888/article/details/83117985