Swagger Codegen Java客户端日期格式

3

我有一个使用Swagger的Java客户端,其中swagger.json包含以下内容:

"updatedTime":{"type":"string","format":"date-time"}

这个来自2015年的问题表明,指定格式为date-time时不使用Joda DateTime。对于我的客户端,我想将该属性表示为java.util.Date而不是Joda表示。我尝试使用-DdateLibrary=java8,但这会阻止客户端在我使用以下命令生成客户端时使用feign builder:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i http://localhost:8080/swagger.json -l java --library feign -DdateLibrary=java8 -o samples/client/my-service/java

我该如何指定swagger应该使用哪种数据类型来表示响应对象?实际上在服务端,属性已经以java.util.Date的形式表示。


你读过这个回复吗?https://github.com/swagger-api/swagger-codegen/issues/2386 - 我在客户端遇到了使用java8 LocalDateTime生成的Joda DateTime的同样问题。 - bl4design
1个回答

0

我们可以使用jackson序列化来代替处理swagger,只需在pom.xml中添加以下依赖项:

com.fasterxml.jackson.datatype jackson-datatype-jsr310 2.4.0

然后在ObjectMapper中添加JodaModule:

ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JodaModule());

详细信息请参考链接:如何使用Jackson JSON处理器序列化Joda DateTime?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接