[英]Request Scoped bean cannot use in Response body [Spring Boot]
我有一个Request作用域(原型)bean作为Rest Controller的响应,并获取Exception,但不起作用
我按照错误消息“类型定义错误:[简单类型,类org.springframework.context.expression.StandardBeanExpressionResolver]”的建议在属性文件上尝试了spring.jackson.serialization.FAIL_ON_EMPTY_BEANS = false ;嵌套异常为com.fasterxml.jackson .databind.exc.InvalidDefinitionException:未找到针对类org.springframework.context.expression.StandardBeanExpressionResolver的序列化器,也未发现创建BeanSerializer的属性(为避免异常,请禁用SerializationFeature.FAIL_ON_EMPTY_BEANS)(通过参考链:com.epic.dcms.kyc .beans.MainResponse $$ EnhancerBySpringCGLIB $$ 82085c99 [\\“ targetSource \\”]-> org.springframework.aop.target.SimpleBeanTargetSource [\\“ beanFactory \\”]-> org.springframework.beans.factory.support.DefaultListableBeanFactory [\\ “ beanExpressionResolver \\”])“ ,
没有工作,然后有一个周期性的依赖关系,并引发了异常
将@RequestScope注释更改为@scope注释也不能解决问题
我注意到只有在MainResponse用作Response时才会出现此异常。
Bean
@RequestScope
@Component
public class MainResponse implements Serializable{
//fields and getters and setters
}
Controller class
@PostMapping("/uploadFile")
public MainResponse uploadFile(@RequestParam("file") MultipartFile file) throws FileStorageException {
String fileName = fileStorageService.storeFile(file);
response.putPayLoad(true,"fileName",fileName)
.putPayLoad("ContentType",file.getContentType())
.putPayLoad("size",file.getSize());
return response;
}
当我从MainResponse bean中删除@RequestScope时,它工作正常,任何想法如何解决此问题?
无需将响应类标记为“ @RequestScope”,数据绑定将由框架本身进行管理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.