fastjson jsonp 返回配置问题

bgtovc5b  于 2021-11-27  发布在  Java
关注(0)|答案(3)|浏览(325)

代码如下,请问要怎么实现某个接口输出jsonp格式,有注解吗?

<bean id="fastJsonpResponseBodyAdvice" class="com.alibaba.fastjson.support.spring.FastJsonpResponseBodyAdvice">
        <constructor-arg>
            <list>
                <value>callback</value>
                <value>jsonp</value>
            </list>
        </constructor-arg>
    </bean>
ipakzgxi

ipakzgxi1#

我现在是用

JSONPObject jsonp = new JSONPObject();
jsonp.setFunction(callback);
JsonResult json = new JsonResult();
jsonp.addParameter(json);

代码实现功能,但是很麻烦...

0s0u357o

0s0u357o2#

不是很懂你的意思,能说清楚一些么?希望在JsonResult上做配置,直接输出jsonp?

wtlkbnrh

wtlkbnrh3#

@ControllerAdvice(basePackages = "com.test.web")
public class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {

public JsonpAdvice(){
    super("callback", "jsonp");
}

}
他想问的应该是这个吧..
类似 spring 自带的 jsonp 响应配置

fastjson wiki 好像没有类似配置...
我只找到了被标记为已过时的配置
https://github.com/alibaba/fastjson/wiki/FastJsonpHttpMessageConverter4_CN

请问有类似 springboot 的类配置的方法吗..像我前面写得这样的 ...
因为我发现如果同时写 这个加
@configuration
public class WebMvcConfig implements WebMvcConfigurer {
@OverRide
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
//自定义配置...
FastJsonConfig config = new FastJsonConfig();
config.setCharset(Charset.forName("UTF-8"));
converter.setFastJsonConfig(config);
converters.add(converter);
}
}
会导致返回类型为 TEXT/HTML 了...
有没有办法使用 fastjson 配置支持 jsonp?
SpringBoot 2.0.2 版本
网上搜索了一圈 没有找到比较好的办法 除了最前面我写的
但是这样写好像 是用的 jackson 而不是 fastjson 了

相关问题