返回顶部
首页 > 资讯 > 精选 >为什么 mux.Vars() 返回空映射
  • 781
分享到

为什么 mux.Vars() 返回空映射

2024-02-09 16:02:52 781人浏览 薄情痞子
摘要

PHP小编柚子在这里为大家解答一个常见的问题:为什么在使用mux.Vars()方法时返回的是一个空映射?这个问题在开发过程中可能会遇到,通常是由于一些配置或使用上的问题所导致的。在本文

PHP小编柚子在这里为大家解答一个常见的问题:为什么在使用mux.Vars()方法时返回的是一个空映射?这个问题在开发过程中可能会遇到,通常是由于一些配置或使用上的问题所导致的。在本文中,我们将详细讨论可能的原因,并给出解决方案,帮助开发者快速解决这个问题。让我们一起来看看吧!

问题内容

我从 mux.vars[] 得到一个空的 map[]。

跟踪问题后,似乎是一个空的map[]通过了我的多个文件。

在同一个文件中:我已将另一个文件作为模块导入(我相信)在 import

package main

import(
"GitHub.com/ny0ttt/Go-bookstore/pkg/controllers"
//note that this is imported from powershell, go mod init "github.com/ny0ttt/go-bookstore"
)

运行 go run main.go 后,我获得了map[]作为ma​​p[id]

在不同的文件中:

按照与上一个相同的导入方式,我收到一个空的ma​​p[]

这是我的文件结构


go-test/cmd/main/main.exe
go-test/cmd/main/main.go
go-test/pkg/config/app.go
go-test/pkg/models/models.go
go-test/pkg/controllers/book-controller.go
go-test/pkg/utils/utils.go
go-test/go.sum
go-test/go.mod

我的 mod 文件包含

module github.com/ny0ttt/go-bookstore

go 1.20

require (
    github.com/go-sql-driver/Mysql v1.5.0
    github.com/gorilla/mux v1.8.0
    github.com/jinzhu/gORM v1.9.16
)

require github.com/jinzhu/inflection v1.0.0 // indirect

这是我的代码:

在我的控制器中

func getbookbyid(w Http.responsewriter, r *http.request){
    vars := mux.vars(r)
    bookid := vars["id"]
    id, err := strconv.parseint(bookid, 0, 0)
    if err != nil{
        fmt.println("error while parsing")
        fmt.println(r)
        fmt.println(bookid)
        fmt.println(vars)
    }
    bookdetails, _ := models.getbookbyid(id) //mthis model returns 2 variable but we will be using only one of them. refer models
    res, _ := JSON.marshal(bookdetails)
    w.header().set("content-type","pkglication/json")
    w.writeheader(http.statusok)
    w.write(res)
}

在我的路线中

func main() {
    r := mux.newrouter()
    
    //routes.reGISterbookstoreroutes(r)
    r.handlefunc("/book/", controllers.getbook).methods("get")
    r.handlefunc("/book/", controllers.createbook).methods("post")
    r.handlefunc("/book/{id}", controllers.getbookbyid).methods("get")
    r.handlefunc("/book/{bookid}", controllers.updatebook).methods("put")
    r.handlefunc("/book/{bookid}", controllers.deletebook).methods("delete")
        http.handle("/", r)
    log.fatal(http.listenandserve(":2222", r)) // creating a server
}

输出

error while parsing
&{GET /book/1 HTTP/1.1 1 1 map[Accept:[*/*] Accept-Encoding:[gzip, deflate, br] Connection:[keep-alive] Postman-Token:[a28eebe1-b6d4-4aff-89ed-d3b93a4ed1df] User-Agent:[PostmanRuntime/7.32.3]] {}  0 [] false :2222 map[] map[]  map[] 127.0.0.1:52035 /book/1    0xc000282a20}

map[]

注意:我打印出这些值,以便我可以追踪哪里出错了,*http.request 没有映射任何值?我不确定返回 http.request 的 map[] 应该是什么样子。

我寻找解决方案,但似乎我需要对这些替代方案进行更多解释。我查找了 r.url.query 但他们面临的问题是使用不同的路由结构时。

我还使用 `mux.routematch` 寻找另一种替代方案,但我认为我可以使用一些解释。

解决方法

问题已解决

我只是将我的项目移动到桌面上(我相信您可以移动到任何您想要的位置,只要您不需要管理员权限来访问该目录)并且它可以工作。

从现在开始,我将继续在可访问的目录中探索项目。谢谢。

以上就是为什么 mux.Vars() 返回空映射的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 为什么 mux.Vars() 返回空映射

本文链接: https://lsjlt.com/news/562690.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 为什么 mux.Vars() 返回空映射
    php小编柚子在这里为大家解答一个常见的问题:为什么在使用mux.Vars()方法时返回的是一个空映射?这个问题在开发过程中可能会遇到,通常是由于一些配置或使用上的问题所导致的。在本文...
    99+
    2024-02-09
  • 测试中 mux.Vars() 返回的是 nil,而不是预期的映射对象
    哈喽!今天心血来潮给大家带来了《测试中 mux.Vars() 返回的是 nil,而不是预期的映射对象》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正...
    99+
    2024-04-04
  • 为什么解码返回结果为空
    偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《为什么解码返回结果为空》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当...
    99+
    2024-04-04
  • openssl_get_privatekey返回值为空 false
    一、 问题 使用openssl_get_privatekey() 返回值为空 二 、 解决 我原本的peivate_key的内容是这样子的,一个字符串,没有任何格式: $privateKey = 'A...
    99+
    2023-09-28
    php 开发语言
  • SpringBoot返回Json对象报错(返回对象为空{})
    目录1 需求描述2 代码展示3 原因分析4 解决方案5 效果展示6 结束语1 需求描述 我们现在要干一个什么事情呢,我们要在浏览器输入一个请求地址,然后我们的后端就给我返回一个Use...
    99+
    2024-04-02
  • 怎么在Java中使用Map.get()返回指定键所映射的值
    怎么在Java中使用Map.get()返回指定键所映射的值?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、We...
    99+
    2023-06-06
  • 使用通用类型参数从映射返回顶级键
    问题内容 我有以下方法,它返回 map 中的所有键。但它接受的参数必须是 map[string]string 类型。 func GetAllKeys(m map[string]stri...
    99+
    2024-02-08
  • java什么是映射
    集是一个集合,它可以快速地查找现有的元素。但是,要查看一个元素,需要有要查找元素的精确副本。这不是一种非常通用的查找方式,因为在集合中查找元素总是要遍历集合。通常,我们知道某些键的信息,并想要查找与之对应的元素。映射(map)数据结构就是为...
    99+
    2022-02-23
    java入门 java 映射
  • Go语言-为什么返回值为接口类型,却返回结构体
    最近由于项目需求,阅读一些Go语言编写的项目的源代码,在某一个函数中发现了一个奇怪的现象:一个函数的返回值类型声明的是一个接口的类型,但是实际在函数体内返回的却是一个结构体类型...
    99+
    2022-06-07
    GO 结构体 返回值 go语言 接口
  • 为什么映射元素不可被取地址?
    ...
    99+
    2024-04-02
  • Go返回值、返回引用、什么都不返回什么时候用什么
    问题内容 我正在编写一些代码,其中许多函数更新“通过引用传递”的项目,沿着下面的 DoSomethingB 的行。作为新手,这对我来说相当不直观。我宁愿让一个函数返回其结果(除非它可能...
    99+
    2024-02-06
  • python怎么判断函数返回值是否为空
    python中使用if_else语句判断函数的返回值是否为空,具体方法如下:首先,在python中定义一个函数;def test():    return None函数定义好后,使用if_else语句对函数的返回值进行判断;def test...
    99+
    2024-04-02
  • 浅谈Java中的this作为返回值时返回的是什么
    有时会遇到this作为返回值的情况,那么此时返回的到底是什么呢?返回的是调用this所处方法的那个对象的引用,读起来有点绕口哈,有没有想起小学语文分析句子成份的试题,哈哈。一点点分析的话,主干是“返回的是引用”;什么引用呢?“那个对象的引用...
    99+
    2023-05-30
    java this 返回值
  • Hibernate映射关联是什么
    这篇文章主要讲解了“Hibernate映射关联是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate映射关联是什么”吧!Hibernate映射关联关系和我们现实世界里事物的关...
    99+
    2023-06-17
  • C语言IO空间映射在存储空间中的结构是什么
    小编给大家分享一下C语言IO空间映射在存储空间中的结构是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!IO 空间映射在存储空...
    99+
    2024-04-02
  • vue里的data为什么要用return返回
    这篇文章主要为大家展示了“vue里的data为什么要用return返回”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue里的data为什么要用return返回...
    99+
    2024-04-02
  • Python函数为什么会默认返回None
    本篇内容主要讲解“Python函数为什么会默认返回None”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python函数为什么会默认返回None”吧!在正式开始之前,我们就用之前讨论过的 pas...
    99+
    2023-06-16
  • php返回500错误信息是为什么
    PHP是一种广泛应用于Web开发的服务器端脚本语言。在使用PHP开发Web应用时,经常会碰到500错误信息的问题,而这些错误信息通常是由以下原因引起的。代码错误PHP程序在运行的过程中,很容易出现语法错误或逻辑错误。一旦出现错误,就会导致程...
    99+
    2023-05-14
  • 为什么 JSONB 以字符串形式返回?
    问题内容 我已经启动了一个“instagram 克隆”后端来尝试学习有关 golang 的知识,但我遇到了一个不知道如何解决的问题。 我用 fiber 构建了一个简单的 api,可以获...
    99+
    2024-02-06
  • 什么是虚拟映射和mmap()
    这篇文章给大家介绍什么是虚拟映射和mmap(),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。虚存映射我们知道,程序是存储在磁盘上到静态文件;进程是对程序到一次运行过程。在进程开始运行时,进程的代码和数据等内容必须装入到...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作