pig-swagger.mp4 (60.44MB)

立即使用

1. 访问swagger-ui页面

访问 [http://pig-gateway:9999/swagger-ui.html](http://pig-gateway:9999/swagger-ui.html) 打开swagger页面。

:::warning 请求入口必须是 pig-gateway:9999 这种形式, 而不是ip:9999 ,不然跨域。 :::

2. 模拟登陆

image.png

填写客户端信息
  1. username: admin
  2. password: YehdBPev # v3.4.2+ 以后输入密文
  3. password: 123456 # 低版本输入 123456
  4. client_id: test
  5. client_secret test

swagger 接口文档调试 - 图3

安全控制

  • 方式一: application-dev.yml中添加如下配置 ,关闭swagger 功能

    1. springdoc:
    2. api-docs:
    3. enabled: false
  • 方式二: gateway-dev.yml 添加basic 登录认证

    1. swagger:
    2. basic:
    3. enabled: true
    4. username: pig
    5. password: pig

    Swagger FAQ

1. 切换swagger分组文档页面报错

image.png

出现这个问题要么是你对应的服务没有启动,要么是你访问的服务还没有启动完毕,如果还没启动完毕的话,不妨等个十几二十秒再进行访问

2. 刷新页面后认证失效?

官方UI比较蠢萌,虽然提供了Oauth2.0的认证功能,但是没有存储的措施,所以刷新页面后相关参数就会丢失。

3. 认证过程中出现Auth ErrorError: Upgrade Required?

这个不用怀疑,原因一般不外乎三个。

一、跨域

:::warning 确定是否使用 http://pig-gateway:9999/swagger-ui.html 访问,而非 IP 或者 localhost 访问 :::

二、用户名或密码错误

可以打开谷歌开发者工具,观察request详情和response详情以及返回的状态码,如果是426的话,就证明获取用户信息的时候失败了,可以判断是作为缓存中间件的redis并没有启动,那么只要启动redis,另一个原因是redis中有脏数据,这个时候清空redis即可。清空的具体步骤如下:

windows平台下可以打开redis-cli.exe,然后执行flushdb或者flushall命令即可。

三、使用了需要验证码的客户端

除了上面的原因,还有可能返回428的状态码,而会出现这个问题就是使用了需要验证码的客户端。

❤ 问题咨询

手势点击蓝字求关注简约风动态引导关注__2022-09-07+23_18_38.gif