开发者社区> 问答> 正文

fastjson扩展支持spring-webflux吗?

fastjson扩展支持spring-webflux吗?以下代码片段显示了我们如何在项目中使用spring5+上的fastjson2。fastjson2-extract-spring5/6中有什么功能可以支持吗?

var webClient = WebClient.builder() .codecs(configurer -> { configurer.defaultCodecs().jackson2JsonDecoder(new Fastjson2Decoder()); configurer.defaultCodecs().jackson2JsonEncoder(new Fastjson2Encoder()); });

原提问者GitHub用户magical1989

展开
收起
白夜行fighting 2023-04-21 10:45:52 263 0
2 条回答
写回答
取消 提交回答
  • 这是一个很好的建议,也应该有这样的功能,代码已经合入主干。请用新版本:https://github.com/alibaba/fastjson2/releases/tag/2.0.26

    原回答者GitHub用户wenshao

    2023-04-21 13:41:53
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    Fastjson2-extract-spring5/6 是一个扩展库,旨在为 Fastjson 2 提供与 Spring 5/6 集成的支持。它提供了以下功能:

    Fastjson2HttpMessageConverter:一个 Spring 的 HttpMessageConverter 实现,可以将请求和响应的 JSON 数据转换为 Java 对象或 JSON 字符串。

    Fastjson2JsonView:一个 Spring 的 View 实现,可以将 Java 对象转换为 JSON 数据并输出到响应中。

    Fastjson2ViewResolver:一个 Spring 的 ViewResolver 实现,可以根据视图名称和请求路径匹配选择 Fastjson2JsonView。

    Fastjson2JsonpResponseBodyAdvice:一个 Spring 的 ResponseBodyAdvice 实现,可以为 JSON 响应添加 JSONP 回调函数支持。

    以上功能在 Spring 5/6 中都得到支持,包括 WebFlux。因此,你可以在 WebFlux 中使用 Fastjson2-extract-spring5/6 扩展库提供的功能,如下所示:

    @Configuration public class WebFluxConfig implements WebFluxConfigurer {

    @Override
    public void configureHttpMessageCodecs(ServerCodecConfigurer configurer) {
        FastJson2JsonDecoder decoder = new FastJson2JsonDecoder();
        FastJson2JsonEncoder encoder = new FastJson2JsonEncoder();
    
        configurer.defaultCodecs().jackson2JsonDecoder(decoder);
        configurer.defaultCodecs().jackson2JsonEncoder(encoder);
    }
    

    } 在上面的代码片段中,我们将 FastJson2JsonDecoder 和 FastJson2JsonEncoder 设置为默认的编解码器,以便 WebFlux 在处理请求和响应时使用 Fastjson 进行 JSON 数据的转换。这样就可以在 WebFlux 中使用 Fastjson 进行 JSON 数据的处理了。

    需要注意的是,Fastjson2-extract-spring5/6 扩展库的使用需要遵循 Fastjson 的版本要求。当前版本的 Fastjson2-extract-spring5/6 扩展库支持 Fastjson 1.2.47 或更高版本。如果你使用的是不同版本的 Fastjson,可能需要自行修改或升级扩展库的版本。

    2023-04-21 10:56:50
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载