Skip to content

Commit 2bd57b8

Browse files
fix BasicTypeConverterFactory priority bug
1 parent ed36be4 commit 2bd57b8

File tree

8 files changed

+24
-19
lines changed

8 files changed

+24
-19
lines changed

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ gitee项目地址:[https://gitee.com/lianjiatech/retrofit-spring-boot-starter]
4949
<dependency>
5050
<groupId>com.github.lianjiatech</groupId>
5151
<artifactId>retrofit-spring-boot-starter</artifactId>
52-
<version>2.3.5</version>
52+
<version>2.3.6</version>
5353
</dependency>
5454
```
5555

@@ -60,7 +60,7 @@ gitee项目地址:[https://gitee.com/lianjiatech/retrofit-spring-boot-starter]
6060
<dependency>
6161
<groupId>com.github.lianjiatech</groupId>
6262
<artifactId>retrofit-spring-boot-starter</artifactId>
63-
<version>2.3.5</version>
63+
<version>2.3.6</version>
6464
</dependency>
6565
<dependency>
6666
<groupId>com.squareup.okhttp3</groupId>
@@ -148,8 +148,9 @@ public class TestService {
148148

149149
```yaml
150150
retrofit:
151-
# 全局转换器工厂(组件扩展的转换器工厂已经内置,这里请勿重复配置)
151+
# 全局转换器工厂
152152
global-converter-factories:
153+
- com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory
153154
- retrofit2.converter.jackson.JacksonConverterFactory
154155
# 全局调用适配器工厂(组件扩展的调用适配器工厂已经内置,这里请勿重复配置)
155156
global-call-adapter-factories:
@@ -775,8 +776,9 @@ retrofit:
775776

776777
```yaml
777778
retrofit:
778-
# 全局转换器工厂(组件扩展的转换器工厂已经内置,这里请勿重复配置)
779+
# 全局转换器工厂
779780
global-converter-factories:
781+
- com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory
780782
- retrofit2.converter.jackson.JacksonConverterFactory
781783
```
782784

README_EN.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<dependency>
3838
<groupId>com.github.lianjiatech</groupId>
3939
<artifactId>retrofit-spring-boot-starter</artifactId>
40-
<version>2.3.5</version>
40+
<version>2.3.6</version>
4141
</dependency>
4242
```
4343

@@ -47,7 +47,7 @@
4747
<dependency>
4848
<groupId>com.github.lianjiatech</groupId>
4949
<artifactId>retrofit-spring-boot-starter</artifactId>
50-
<version>2.3.5</version>
50+
<version>2.3.6</version>
5151
</dependency>
5252
<dependency>
5353
<groupId>com.squareup.okhttp3</groupId>
@@ -137,6 +137,7 @@ The component supports multiple configurable properties to deal with different b
137137
```yaml
138138
retrofit:
139139
global-converter-factories:
140+
- com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory
140141
- retrofit2.converter.jackson.JacksonConverterFactory
141142
global-call-adapter-factories:
142143
global-log:
@@ -721,8 +722,8 @@ If you need to modify the `Jackson` configuration, you can override the `bean` c
721722

722723
```yaml
723724
retrofit:
724-
# The `Converter.Factory` of the component extension has been built in, please do not repeat the configuration here
725725
global-converter-factories:
726+
- com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory
726727
- retrofit2.converter.jackson.JacksonConverterFactory
727728
```
728729

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.github.lianjiatech</groupId>
88
<artifactId>retrofit-spring-boot-starter</artifactId>
9-
<version>2.3.5</version>
9+
<version>2.3.6</version>
1010

1111
<name>retrofit-spring-boot-starter</name>
1212
<description>retrofit-spring-boot-starter</description>

src/main/java/com/github/lianjiatech/retrofit/spring/boot/config/RetrofitAutoConfiguration.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.List;
44

5+
import com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory;
56
import org.springframework.beans.factory.annotation.Autowired;
67
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
78
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -60,6 +61,11 @@ public static PathMatchInterceptorBdfProcessor prototypeInterceptorBdfProcessor(
6061
}
6162
}
6263

64+
@Bean
65+
public BasicTypeConverterFactory basicTypeConverterFactory() {
66+
return BasicTypeConverterFactory.INSTANCE;
67+
}
68+
6369
@Bean
6470
@ConditionalOnMissingBean
6571
public SourceOkHttpClientRegistry sourceOkHttpClientRegistry(

src/main/java/com/github/lianjiatech/retrofit/spring/boot/config/RetrofitProperties.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.github.lianjiatech.retrofit.spring.boot.config;
22

3+
import com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory;
34
import org.springframework.boot.context.properties.ConfigurationProperties;
45
import org.springframework.boot.context.properties.NestedConfigurationProperty;
56

@@ -47,7 +48,8 @@ public class RetrofitProperties {
4748
*/
4849
@SuppressWarnings("unchecked")
4950
private Class<? extends Converter.Factory>[] globalConverterFactories =
50-
(Class<? extends Converter.Factory>[])new Class[] {JacksonConverterFactory.class};
51+
(Class<? extends Converter.Factory>[])new Class[] {BasicTypeConverterFactory.class,
52+
JacksonConverterFactory.class};
5153

5254
/**
5355
* 全局调用适配器工厂,转换器实例优先从Spring容器获取,如果没有获取到,则反射创建。

src/main/java/com/github/lianjiatech/retrofit/spring/boot/core/RetrofitFactoryBean.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,6 @@ private Retrofit createRetrofit() {
171171
retrofitBuilder.addCallAdapterFactory(ResponseCallAdapterFactory.INSTANCE);
172172
retrofitBuilder.addCallAdapterFactory(BodyCallAdapterFactory.INSTANCE);
173173

174-
retrofitBuilder.addConverterFactory(BasicTypeConverterFactory.INSTANCE);
175174
combineAndCreate(retrofitClient.converterFactories(), retrofitConfigBean.getGlobalConverterFactoryClasses())
176175
.forEach(retrofitBuilder::addConverterFactory);
177176

@@ -182,7 +181,7 @@ private void addReactiveCallAdapterFactory(Retrofit.Builder retrofitBuilder) {
182181
if (reactor3ClassExist()) {
183182
retrofitBuilder.addCallAdapterFactory(MonoCallAdapterFactory.INSTANCE);
184183
}
185-
if (rxjava2CalssExist()) {
184+
if (rxjava2ClassExist()) {
186185
retrofitBuilder.addCallAdapterFactory(Rxjava2SingleCallAdapterFactory.INSTANCE);
187186
retrofitBuilder.addCallAdapterFactory(Rxjava2CompletableCallAdapterFactory.INSTANCE);
188187
}
@@ -201,7 +200,7 @@ private boolean rxjava3ClassExist() {
201200
}
202201
}
203202

204-
private boolean rxjava2CalssExist() {
203+
private boolean rxjava2ClassExist() {
205204
try {
206205
Class.forName("io.reactivex.Single");
207206
return true;

src/test/java/com/github/lianjiatech/retrofit/spring/boot/test/RetrofitStarterTest.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,6 @@ public class RetrofitStarterTest {
5757
@Autowired
5858
private HttpApi3 httpApi3;
5959

60-
@Autowired
61-
private InterceptApi interceptApi;
62-
63-
@Autowired
64-
private DownloadApi downloadApi;
65-
6660
private static final ObjectMapper objectMapper =
6761
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
6862
.setSerializationInclusion(JsonInclude.Include.NON_NULL);

src/test/resources/application.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11

22
retrofit:
3-
# 全局转换器工厂(组件扩展的转换器工厂已经内置,这里请勿重复配置)
3+
# 全局转换器工厂
44
global-converter-factories:
5+
- com.github.lianjiatech.retrofit.spring.boot.core.BasicTypeConverterFactory
56
- retrofit2.converter.jackson.JacksonConverterFactory
67
# 全局调用适配器工厂(组件扩展的调用适配器工厂已经内置,这里请勿重复配置)
78
global-call-adapter-factories:

0 commit comments

Comments
 (0)