Skip to content

Commit eee69f1

Browse files
committed
Merge pull request #1416 from xhh/java-do-not-serialize-nulls
[Java] Ignore null fields in model serialization in Java clients
2 parents dcc47a9 + 214e018 commit eee69f1

File tree

14 files changed

+31
-87
lines changed

14 files changed

+31
-87
lines changed

modules/swagger-codegen/src/main/resources/Java/JSON.mustache

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@ public class JSON {
1212
1313
public JSON() {
1414
mapper = new ObjectMapper();
15+
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
1516
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
1617
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
1718
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
1819
mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
1920
mapper.registerModule(new JodaModule());
20-
}
21+
}
2122

2223
/**
2324
* Serialize the given Java object into JSON string.

modules/swagger-codegen/src/main/resources/Java/libraries/okhttp-gson/JSON.mustache

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ public class JSON {
2323
public JSON(ApiClient apiClient) {
2424
this.apiClient = apiClient;
2525
gson = new GsonBuilder()
26-
.serializeNulls()
2726
.registerTypeAdapter(Date.class, new DateAdapter(apiClient))
2827
.create();
29-
}
28+
}
3029

3130
public Gson getGson() {
3231
return gson;

samples/client/petstore/java/default/src/main/java/io/swagger/client/JSON.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@
66

77
import java.io.IOException;
88

9-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T10:56:59.550-07:00")
9+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:29.717+08:00")
1010
public class JSON {
1111
private ObjectMapper mapper;
1212

1313
public JSON() {
1414
mapper = new ObjectMapper();
15+
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
1516
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
1617
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
1718
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
1819
mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
1920
mapper.registerModule(new JodaModule());
20-
}
21+
}
2122

2223
/**
2324
* Serialize the given Java object into JSON string.

samples/client/petstore/java/default/src/main/java/io/swagger/client/api/PetApi.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,12 @@
66
import io.swagger.client.Pair;
77
import io.swagger.client.TypeRef;
88

9-
import io.swagger.client.model.*;
10-
11-
import java.util.*;
12-
139
import io.swagger.client.model.Pet;
1410
import java.io.File;
1511

16-
import java.io.File;
17-
import java.util.Map;
18-
import java.util.HashMap;
12+
import java.util.*;
1913

20-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T10:56:59.550-07:00")
14+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:29.717+08:00")
2115
public class PetApi {
2216
private ApiClient apiClient;
2317

@@ -272,7 +266,7 @@ public Pet getPetById (Long petId) throws ApiException {
272266
};
273267
final String contentType = apiClient.selectHeaderContentType(contentTypes);
274268

275-
String[] authNames = new String[] { "api_key", "petstore_auth" };
269+
String[] authNames = new String[] { "api_key" };
276270

277271

278272

samples/client/petstore/java/default/src/main/java/io/swagger/client/api/StoreApi.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,12 @@
66
import io.swagger.client.Pair;
77
import io.swagger.client.TypeRef;
88

9-
import io.swagger.client.model.*;
10-
11-
import java.util.*;
12-
139
import java.util.Map;
1410
import io.swagger.client.model.Order;
1511

16-
import java.io.File;
17-
import java.util.Map;
18-
import java.util.HashMap;
12+
import java.util.*;
1913

20-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T10:56:59.550-07:00")
14+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:29.717+08:00")
2115
public class StoreApi {
2216
private ApiClient apiClient;
2317

samples/client/petstore/java/default/src/main/java/io/swagger/client/api/UserApi.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,12 @@
66
import io.swagger.client.Pair;
77
import io.swagger.client.TypeRef;
88

9-
import io.swagger.client.model.*;
10-
11-
import java.util.*;
12-
139
import io.swagger.client.model.User;
1410
import java.util.*;
1511

16-
import java.io.File;
17-
import java.util.Map;
18-
import java.util.HashMap;
12+
import java.util.*;
1913

20-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T10:56:59.550-07:00")
14+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:29.717+08:00")
2115
public class UserApi {
2216
private ApiClient apiClient;
2317

samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/JSON.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@
66

77
import java.io.IOException;
88

9-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T11:29:47.599-07:00")
9+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:20.020+08:00")
1010
public class JSON {
1111
private ObjectMapper mapper;
1212

1313
public JSON() {
1414
mapper = new ObjectMapper();
15+
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
1516
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
1617
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
1718
mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);
1819
mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);
1920
mapper.registerModule(new JodaModule());
20-
}
21+
}
2122

2223
/**
2324
* Serialize the given Java object into JSON string.

samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/PetApi.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,12 @@
66
import io.swagger.client.Pair;
77
import io.swagger.client.TypeRef;
88

9-
import io.swagger.client.model.*;
10-
11-
import java.util.*;
12-
139
import io.swagger.client.model.Pet;
1410
import java.io.File;
1511

16-
import java.io.File;
17-
import java.util.Map;
18-
import java.util.HashMap;
12+
import java.util.*;
1913

20-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T11:29:47.599-07:00")
14+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:20.020+08:00")
2115
public class PetApi {
2216
private ApiClient apiClient;
2317

@@ -243,7 +237,7 @@ public Pet getPetById (Long petId) throws ApiException {
243237
};
244238
final String contentType = apiClient.selectHeaderContentType(contentTypes);
245239

246-
String[] authNames = new String[] { "api_key", "petstore_auth" };
240+
String[] authNames = new String[] { "api_key" };
247241

248242

249243
TypeRef returnType = new TypeRef<Pet>() {};

samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/StoreApi.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,12 @@
66
import io.swagger.client.Pair;
77
import io.swagger.client.TypeRef;
88

9-
import io.swagger.client.model.*;
10-
11-
import java.util.*;
12-
139
import java.util.Map;
1410
import io.swagger.client.model.Order;
1511

16-
import java.io.File;
17-
import java.util.Map;
18-
import java.util.HashMap;
12+
import java.util.*;
1913

20-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T11:29:47.599-07:00")
14+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:20.020+08:00")
2115
public class StoreApi {
2216
private ApiClient apiClient;
2317

samples/client/petstore/java/jersey2/src/main/java/io/swagger/client/api/UserApi.java

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,12 @@
66
import io.swagger.client.Pair;
77
import io.swagger.client.TypeRef;
88

9-
import io.swagger.client.model.*;
10-
11-
import java.util.*;
12-
139
import io.swagger.client.model.User;
1410
import java.util.*;
1511

16-
import java.io.File;
17-
import java.util.Map;
18-
import java.util.HashMap;
12+
import java.util.*;
1913

20-
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-20T11:29:47.599-07:00")
14+
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.JavaClientCodegen", date = "2015-10-21T11:55:20.020+08:00")
2115
public class UserApi {
2216
private ApiClient apiClient;
2317

0 commit comments

Comments
 (0)