小编Fra*_*and的帖子

将 swaggo/http-swagger 与 julienschmidt/httprouter 一起使用时出现空白页面

我正在制作一个 api 并使用 swaggo/swag 构建一个 swagger 界面。以前,我使用 net/http 包,一切正常。

我切换到 julienschmidt/httprouter,但我无法使 swagger 界面再次工作。这是我的代码

package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/julienschmidt/httprouter"
    httpSwagger "github.com/swaggo/http-swagger"
)

func main() {
    router := httprouter.New()

    router.ServeFiles("/api/doc/static/*filepath", http.Dir("api/swagger/static"))
    router.HandlerFunc(http.MethodGet, "/api/doc/index.html", swaggerHandler)
    // router.HandlerFunc(http.MethodGet, "/api/doc", swaggerHandler)

    fmt.Println("Server on port 8080")
    log.Fatal(http.ListenAndServe(":8080", router))
}

func swaggerHandler(w http.ResponseWriter, r *http.Request) {
    swaggerFileUrl := "http://localhost:8080/api/doc/static/swagger.json"
    handler := httpSwagger.Handler(httpSwagger.URL(swaggerFileUrl))
    handler.ServeHTTP(w, r)
}
Run Code Online (Sandbox Code Playgroud)

我检查了swaggerFileUrl变量是否正确,并且我可以使用此 url 访问 json 文件。该界面是一个完整的空白页面,标题为“Swagger UI”。因为标题已被替换,所以我假设发生了一些事情,但我不知道问题是来自 httpSwagger 还是 httprouter。

编辑:问题是由于加载界面的 javascript 文件不存在而引起的。请参阅这个github 问题

go swagger

2
推荐指数
1
解决办法
1510
查看次数

React 大日历没有默认导出

我想使用 react-big-calendar,我使用 npm(版本 0.28.0)安装了该包,但我能够使用该组件,因为显然没有默认导出。确切的错误是

尝试导入错误:“react-big-calendar”不包含默认导出(导入为“BigCalendar”)。

如果我不应该使用默认导出,我在任何地方都找不到我应该导入的内容。我使用本教程来使其工作。我在互联网上搜索了类似的问题,但没有找到任何提供解决方案的内容。到目前为止,我的代码非常简约,因为我无法启动任何东西

import BigCalendar from 'react-big-calendar'
import moment from 'moment'

const MyComponent = props => {
  const localizer = BigCalendar.momentLocalizer(moment)
  return(
    <div>
      <BigCalendar localizer={localizer}/>
    <div>
  )
}
Run Code Online (Sandbox Code Playgroud)

预先感谢您的任何回复。

javascript reactjs react-big-calendar

1
推荐指数
1
解决办法
2389
查看次数

标签 统计

go ×1

javascript ×1

react-big-calendar ×1

reactjs ×1

swagger ×1