Spring security 集成的Swagger和以前工作的代码中断:无法从对象值反序列化(没有基于委托或属性的创建者

Spring security 集成的Swagger和以前工作的代码中断:无法从对象值反序列化(没有基于委托或属性的创建者,spring-security,jackson,swagger,token,jackson-databind,Spring Security,Jackson,Swagger,Token,Jackson Databind,我成功地将swagger集成到几个spring boot服务中。 必须允许端点通过添加相应的@EnableWebSecurity类绕过身份验证,该类扩展了WebsecurityConfigureAdapter(这对其他服务很有效): @配置 @启用Web安全性 @EnableGlobalMethodSecurity(Prespenabled=true) @订单(1) 公共类AppSecurityConfig扩展了WebSecurity配置适配器{ ... @凌驾 受保护的无效配置(HttpS

我成功地将swagger集成到几个spring boot服务中。
必须允许端点通过添加相应的@EnableWebSecurity类绕过身份验证,该类扩展了WebsecurityConfigureAdapter(这对其他服务很有效):


@配置
@启用Web安全性
@EnableGlobalMethodSecurity(Prespenabled=true)
@订单(1)
公共类AppSecurityConfig扩展了WebSecurity配置适配器{
...
@凌驾
受保护的无效配置(HttpSecurity HttpSecurity)引发异常{
httpSecurity
.antMatcher(“/**”)
...
.antMatchers(“/actuator/**”).permitAll()
.antMatchers(“/v2/api docs”、“/configuration/**”、“/webjars/**”、“/swagger*/**”)为swagger添加了此选项
.permitAll()//为swagger添加了此选项
.antMatchers(“/challenge”).permitAll()
.antMatchers(“/token”).permitAll()//现在有投诉的端点,以前还可以。
.anyRequest()
.authenticated()
.及()
.cors();
}
...

}
解决方案是添加默认构造函数,同时删除最终变量

@allargsconstuctor
公共类令牌请求{
@空空如也
@JsonProperty
私有字符串id;//代码已修复问题
@空空如也
@吸气剂
私有字符串代码;//代码已修复问题
公共令牌请求(){}//代码修复了问题
公共UUID getId(){
返回UUID.fromString(id);
}

}
您添加了什么代码?似乎无法将代码中的某些内容转换为swagger可以理解/显示的内容,但如果没有看到您的代码,就很难说出是什么/为什么,正如@Helen所指出的。这是我添加的代码: