亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

go-swagger restapi/configure_todo_list.go

go-swagger restapi/configure_todo_list.go

Go
元芳怎么了 2022-08-01 15:03:14
我是和中的新手。我正在遵循 goswagger.io 的簡單服務器教程中的步驟。gogo-swagger我正在使用 和 。Ubuntu 18.04swagger v0.25.0go 1.15.6按照相同的步驟,生成的文件有一些差異。例如,goswagger.io有和在里面,但我的沒有。為什么會這樣?find_todos_okbody.goget_okbody.gomodels鏈接到我生成的文件的屏幕截圖與鏈接到 swagger.io 生成的文件的屏幕截圖按照教程中所述啟動服務器,我遇到了以下錯誤。任何人都可以幫忙嗎?go install ./cmd/todo-list-server/# my_folder/swagger-todo-list/restapirestapi/configure_todo_list.go:41:8: api.TodosGetHandler undefined (type *operations.TodoListAPI has no field or method TodosGetHandler)restapi/configure_todo_list.go:42:6: api.TodosGetHandler undefined (type *operations.TodoListAPI has no field or method TodosGetHandler)goswagger.io 待辦事項列表的第一步是 。我應該在哪個目錄中運行此命令?我在主目錄中新創建的文件夾中運行了它。但是,從頁面中,它顯示路徑為 。我不確定我是否應該使用 或創建這些文件夾。有人可以給我建議嗎?swagger init spec ...~/go/src/github.com/go-swagger/go-swagger/examples/tutorials/todo-listgo get ...git clone ...謝謝。
查看完整描述

3 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

  1. 這可能是文檔落后于您正在運行的代碼版本。只要它編譯,該工具生成的特定文件就不那么重要。

  2. 這是一個編譯錯誤。當您這樣做時,它將嘗試將foo包構建為可執行文件,然后將其移動到您的目錄中。對于生成的代碼,中生成的代碼似乎不正確。go install fooGOPATH/binrestapi/configure_todo_list.gooperations

  3. 您自己運行本教程所需要的只是一個空目錄和swagger工具(而不是其源代碼)。從此空項目的根目錄運行命令。為了不遇到GOPATH問題,我會在做其他任何事情之前初始化一個模塊。請注意,雖然 todo 列表示例代碼存在于 go-swagger 源代碼中,但它僅用于記錄示例用法和輸出。go mod init todo-list-example

我對#2的建議是確保你使用的是正確發布的go-swagger版本,而不是從最新的提交安裝(當你只做一個時就會發生這種情況),因為我發現它偶爾會不穩定。go get

接下來,重新生成整個服務器,但請確保也通過傳遞到調用來重新生成。此文件并不總是刷新,因為您打算對其進行修改以配置您的應用程序,如果您更改了該工具的版本,則它可能不同且不兼容。restapi/configure_todo_list.go--regenerate-configureapiswagger generate

如果在此之后仍然收到編譯錯誤,則可能值得在 https://github.com/go-swagger/go-swagger/issues 提交錯誤報告。


查看完整回答
反對 回復 2022-08-01
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

我認為這是一個搖擺不定的代碼生成的錯誤。你可以做作為愚蠢的來解決這個問題:

  • 刪除文件configure_todo_list.go;

  • 重新生成代碼。

# swagger generate server -A todo-list -f ./swagger.yml

然后,您可以運行命令,它將成功。go install ./cmd/todo-list-server/


查看完整回答
反對 回復 2022-08-01
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

#2中的錯誤在我運行后消失了,如go get - u -f ./...


...

For this generation to compile you need to have some packages in your GOPATH:


        * github.com/go-openapi/runtime

        * github.com/jessevdk/go-flags


You can get these now with: go get -u -f ./...


查看完整回答
反對 回復 2022-08-01
  • 3 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號