SpringBoot が Swagger3 を使用している場合ベース URL を推測できません。これは動的サーブレットを使用する場合によく発生します。

バックグラウンド

Spring Boot で Swagger3 を使用する、当访问http://localhost:8080/swagger-ui/index.html 時【ベース URL を推論できません。これは、動的サーブレット登録を使用する場合、または API が API ゲートウェイの背後にある場合に一般的です。】
ここに画像の説明を挿入

理由

このポップアップ ウィンドウが表示される理由は、Swagger インターフェイスから返されたデータ形式が予期したものと一致しないためです。これを使用して、http://localhost:8080/v3/api-docs返された形式を表示できますが、これは明らかに Swagger のデータ要件を満たしていません。
ここに画像の説明を挿入
正しいデータ形式は次のとおりです
ここに画像の説明を挿入

この結果の理由は、プロジェクトが次のように統合された結果変換を追加したためです。

@RestControllerAdvice(annotations = RestController.class)
public class GlobalResponseAdvice implements ResponseBodyAdvice<Object> {
    
    }

解決

Swaggerを変換せずにRestControllerAdviceのアノテーションに変換プロジェクトパッケージを指定できる

@RestControllerAdvice(basePackages = "org.moss")
public class GlobalResponseAdvice implements ResponseBodyAdvice<Object> {
    
    }

ようやくアクセス可能
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/q283614346/article/details/128456839