Swagger2页面接口返回数据字段被修改

ccg5230 2020-04-13 12:32:58
我的代码使用Swagger2+springboo2,
swagger-ui.html测试页面返回数据和接口返回不一致



不太明白swagger页面返回数据怎么把id属性值改变了
...全文
634 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccg5230 2020-04-13
  • 打赏
  • 举报
回复
swagger对于Long json序列化丢失精度,已解决添加springboot配置: @EnableWebMvc @Configuration public class WebConfig implements WebMvcConfigurer { /** * swagger-ui有long类型丢失精度,末尾被替换成00:本质上是因为long类型在转换中失真了,所以改成String类型的传就没有问题了。 * spring boot web 组件默认依赖的就是 jackson */ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); ObjectMapper objectMapper = new ObjectMapper(); /** * 序列换成json时,将所有的long变成string * 因为js中得数字类型不能包含所有的java long值 */ SimpleModule simpleModule = new SimpleModule(); simpleModule.addSerializer(Long.class, ToStringSerializer.instance); simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance); objectMapper.registerModule(simpleModule); jackson2HttpMessageConverter.setObjectMapper(objectMapper); converters.add(jackson2HttpMessageConverter); } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } }
  • 打赏
  • 举报
回复
id太长,数据失真了, 对应的实体类的id字段 上加上这个注解试试 @JsonFormat(shape= JsonFormat.Shape.STRING)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧