在春季框架中,注释响应的目标将使用类找到相应的数据转换器,以根据属性指定的类型来完成转换。
最常见和默认的响应类型是,还有许多其他类型的响应数据,这些数据都封装在中。本文将介绍响应支持及其思维的类型。
定义请求方法,将响应类型设置为XML:
介绍的依赖项
如果未添加上述依赖关系,并且在控制器方法上指定了XML类型,则服务器将抛出406个异常:
异常类型是:
加入依赖项后,页面返回XML数据:
该框架已经使用了很长时间了,它将不可避免地忘记其基础层的包装过程。像本文这样的简单练习是从Springboot中的重新设置得出的,以解决特殊的转换问题。同时,有必要重新设计以在XML类型中进行特殊转换。
考虑两个问题:
第一个问题很容易猜测:在请求指定的响应数据格式后,返回时将调用系统。它将在其中使用来找到XML类型转换器。406发生错误,表明未找到转换器。
第二个问题是Springboot会自动组装的Jackson Converter由类完成。它将注入JSON转换器和XML转换器。它的源代码如下:
请注意,XML转换器的自动注入条件是:这是引入自动触发注入的根本原因。
这种疾病注射引起了第三个问题。没有引入JAR软件包,此配置中存在汇编错误。如何解决此汇编错误?
搜索“ note @conditionalonclass(x.class),X。X。x”时的查询。
猜测同样的原因,Spring-boot引用了此软件包,但不会传递给我们的项目。如果您不引入相关JAR并想使用它,则可以使用名称属性:
以上是杰克逊转换器引起的思维:
阅读本文后,您了解发生了什么吗?