1.問題
本來想着用idea easyYapi插件 快速生成接口文檔到 yapi上去 結果一直報錯
run easy-yapi
[TRACE] No config be found
[DEBUG] use recommend config
[DEBUG] use built-in config
[INFO] Start find apis...
[TRACE] No config be found
[DEBUG] use recommend config
[DEBUG] use built-in config
[INFO] search api from: com.xx.xx.manage.web.xxxInfoController
[ERROR] error to parse project [428] info:<!DOCTYPE html>
<html>
<head>
<meta id="cross-request-sign" charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="keywords" content="yapi接口管理,api管理,接口管理,api,接口,接口文檔,api文檔,接口管理系統" />
<meta name="description" content="YApi 是高效、易用、功能強大的 api 管理平台,旨在為開發、産品、測試人員提供更優雅的接口管理服務。可以幫助開發者輕松建立、釋出、維護 API,YApi 還為使用者提供了優秀的互動體驗,開發人員隻需利用平台提供的接口資料寫入工具以及簡單的點選操作就可以實作接口的管理。" />
<title>YApi-高效、易用、功能強大的可視化接口管理平台</title>
<link rel="icon" type="image/png" sizes="192x192" href="/image/favicon.png">
<script>
document.write('<script src="/prd/assets.js?v=' + Math.random() + '"><\/script>');
</script>
<script>
document.write('<link rel="stylesheet" href="/prd/' + window.WEBPACK_ASSETS['index.js'].css + '" />');
</script>
</head>
<body>
<div id="yapi" style="height: 100%;"></div>
<script>
document.write('<script src="/prd/' + window.WEBPACK_ASSETS['manifest'].js + '"><\/script>');
</script>
<script>
document.write('<script src="/prd/' + window.WEBPACK_ASSETS['lib3'].js + '"><\/script>');
</script>
<script>
document.write('<script src="/prd/' + window.WEBPACK_ASSETS['lib2'].js + '"><\/script>');
</script>
<script>
document.write('<script src="/prd/' + window.WEBPACK_ASSETS['lib'].js + '"><\/script>');
</script>
<script>
document.write('<script src="/prd/' + window.WEBPACK_ASSETS['index.js'].js + '"><\/script>');
</script>
</body>
</html>
[INFO] No token be found for xxx
[INFO] Apis exported completed
接着開始長達兩個小時找錯環節
原因以及解決方案
-
配置問題 yapi的伺服器位址 注意隻是yapi的伺服器位址 後面什麼都不要加 後面什麼都不要加 後面什麼都不要加 !!!!
舊的配置如下 yapi伺服器地 後添加了 /project/項目ID
、
修改後 隻保留yapi伺服器位址 後面的不要 修改後 在生成配置 發現在生成接口成功了補充說明一下 tokens 這個地方填入項目名=token
例如 controller 類 在 xxx-service module裡 那這裡填入 xxx-service=token 之後就可以直接生成文檔 而不用填入token了
-
可能是相容問題
解決
- 修改為 loginMode 填入自己的項目ID
- 配置鑒權邏輯 添加如下代碼 登入位址 以及賬号密碼修改為自己的
yapi.export.before=groovy:```
httpClient.request().url("http://127.0.0.1:3000/api/user/login")
.method("POST")
.contentType("application/json")
.body(["email":"[email protected]","password":"*******"])
.call();
\```
官方文檔說明如下:http://easyyapi.com/documents/login_mode_yapi.html
easyYapi 使用說明:http://easyyapi.com/documents/export2yapi.html
good night