Skip to content

Commit ea99f9f

Browse files
committed
code refactor for reuse
1 parent 58bda3a commit ea99f9f

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ You define the api meta data in classes' static code blocks, then it was collect
3636
static Mapping<?> petStatus = $(text(oneOf(Arrays.asList("available", "pending", "sold"))))
3737
.desc("pet status in the store").example("available").$$;
3838
static Mapping<?> pet = $(mapping(
39-
field("id", $(vLong()).desc("pet id").example(gen("petId").or(gen(() -> new Faker().number().randomNumber()))).$$),
39+
field("id", $(vLong()).desc("pet id").example(gen("petId").or(gen(() -> faker.number().randomNumber()))).$$),
4040
field("name", $(text(required())).desc("pet name").$$),
4141
field("category", attach(required()).to($(mapping(
4242
field("id", vLong(required())),

example/java-jaxrs/src/main/java/com/example/resource/PetResource.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,16 @@
4343
@Path("/pet")
4444
@Produces({"application/json", "application/xml"})
4545
public class PetResource {
46-
static PetData petData = new PetData();
46+
private static PetData petData = new PetData();
47+
private static Faker faker = new Faker();
48+
4749
private ResourceBundle bundle = ResourceBundle.getBundle("bind-messages");
4850
private Messages messages = (key) -> bundle.getString(key);
4951

5052
static Mapping<?> petStatus = $(text(oneOf(Arrays.asList("available", "pending", "sold"))))
5153
.desc("pet status in the store").example("available").$$;
5254
static Mapping<?> pet = $(mapping(
53-
field("id", $(longv()).desc("pet id").example(gen("petId").or(gen(() -> new Faker().number().randomNumber()))).$$),
55+
field("id", $(longv()).desc("pet id").example(gen("petId").or(gen(() -> faker.number().randomNumber()))).$$),
5456
field("name", $(text(required())).desc("pet name").$$),
5557
field("category", $(mapping(
5658
field("id", longv(required())),

src/main/java/com/github/tminglei/swagger/fake/DataWriterImpl.java

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

33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import com.fasterxml.jackson.databind.SerializationFeature;
56

67
import java.io.IOException;
78
import java.io.Writer;
@@ -17,14 +18,15 @@ public class DataWriterImpl implements DataWriter {
1718
private static final String FORMAT_JSON = "application/json";
1819
private static final String FORMAT_XML = "application/xml";
1920

21+
private static final ObjectMapper objectMapper = new ObjectMapper()
22+
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
23+
.configure(SerializationFeature.INDENT_OUTPUT, true);
24+
2025
@Override
2126
public void write(Writer writer, String format, DataProvider provider) throws IOException {
2227
switch (format.toLowerCase()) {
2328
case FORMAT_JSON:
24-
String dataJson = new ObjectMapper()
25-
.setSerializationInclusion(JsonInclude.Include.NON_NULL)
26-
.writer().withDefaultPrettyPrinter()
27-
.writeValueAsString(provider.get());
29+
String dataJson = objectMapper.writeValueAsString(provider.get());
2830
writer.write(dataJson);
2931
break;
3032
case FORMAT_XML:

0 commit comments

Comments
 (0)