swagger 404等问题总结

404问题

gateway2.0以上版本集成swagger2时访问,会显示404,解决方案如下

@Component
public class SwaggerHeaderFilter extends AbstractGatewayFilterFactory {

    @Override
    public GatewayFilter apply(Object config) {
        return (exchange, chain) -> {
            ServerHttpRequest request = exchange.getRequest();
            String path = request.getURI().getPath();
            if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) {
                return chain.filter(exchange);
            }
            ServerHttpRequest newRequest = request.mutate().build();
            ServerWebExchange newExchange = exchange.mutate().request(newRequest).build();
            return chain.filter(newExchange);
        };
    }
}

开发过程中碰到通过网关调用模块服务,显示404问题,然后把SwaggerHeaderFilter删掉,就可以正常访问了。
在这里插入图片描述

Could not resolve reference because of: Could not resolve pointer: /definitions/List does not exist

swagger界面显示提示信息:
Could not resolve reference because of: Could not resolve pointer: /definitions/List does not exist
解决方案:
ApiModel中 value 的 值 要和实体类名一致
@ApiModel(value = “UserDTO”, description = “用户信息”)
public class UserDTO {}

或者不要在返回类上面加@ApiModel

或者swagger版本从2.8.0升级到2.9.2

也有可能是controller层返回的为map,直接把返回类型改为?

public ResponseVo<?> maruko

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值