我正在尝试访问Swagger服务终结点。代码如下:
(defn service-routes []
["/api"
{:middleware [middleware/wrap-formats]
:swagger {:id ::api}}
["" {:no-doc true}
["/swagger.json"
{:get (swagger/create-swagger-handler)}]
["/swagger-ui*"
{:get (swagger-ui/create-swagger-ui-handler
{:url "api/swagger.json"})}]]
["/business-partners"
{:get
(fn [_]
(response/ok (bp/business-partners-list)))}]
["/business-partner"
{:post
(fn [{:keys [params]}]
(try
(bp/save-business-partner params)
(response/ok {:status :ok})
(catch Exception e
(let [{id :business-partners/error-id
errors :errors} (ex-data e)]
(case id
:validation
(response/bad-request {:errors errors})
(response/internal-server-error
{:errors {:server-error ["Failed to save message!"]}}))))))}]])但是,当我尝试在浏览器中访问http://localhost:3000/api/swagger.json时,我得到了这样的响应:
{"swagger":"2.0",
"x-id":["businesspartners.routes.services/api"],
"paths":{
"/api/business-partners": {"get": {}},
"/api/business-partner": {"post": {}}}}我不明白为什么我得到的是json格式,为什么不能看到Swagger UI来可视化我的服务并与之交互?我应该得到这样的东西:

发布于 2020-03-24 14:46:01
我想你会在/api下找到swagger ui
发布于 2020-03-24 14:58:07
我也遇到过同样的问题,在Java和language jaxr中使用代码生成。生成代码后,您将看到在target/ generated -sources/swagger/ folder下使用端点生成的index.html页面。确保将其包含在构建中,并将api路径指向此页面,以便您可以以html格式查看端点。
https://stackoverflow.com/questions/60824200
复制相似问题