返回顶部
首页 > 资讯 > 后端开发 > GO >如何将文件系统设置为 http.Handler
  • 429
分享到

如何将文件系统设置为 http.Handler

2024-04-05 00:04:15 429人浏览 八月长安
摘要

积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何将文件系统设置为 Http.H

积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何将文件系统设置为 Http.Handler》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我想在 http.handler 中封装文件系统。

type Handler func(ctx context.Context, w http.ResponseWriter, r *http.Request) error

func (a *App) Handle(verb, path string, handler Handler) {
        ...
        h := func(w http.ResponseWriter, r *http.Request) {
                ...
        }

        a.myRouter.HandleFunc(verb, path, h)
}

func (a *App) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    a.myRouter.ServeHTTP(w, r)
}

func MYapi(...) http.Handler {
        ...
        app.Handle("Get", "/files", http.StripPrefix(pathPrefix,       http.FileServer(root)))
        return app
}

api := http.Server{
        ...
        Handler:      MYAPI(),
}

该应用程序是我的自定义路由器,我定义了自己的 http.handler handler。现在,如果我将此处理程序包装在文件系统周围,应该如何使用它进行编码?


解决方案


您可以使用闭包:

func FromHTTPHandler(h http.Handler) Handler {
    return func(ctx context.Context, w http.ResponseWriter, r *http.Request) error {
        h.ServeHTTP(w, r)
        return nil
    }
}

// ...

app.Handle("Get", "/files", FromHTTPHandler(http.StripPrefix(pathPrefix, http.FileServer(root))))

理论要掌握,实操不能落!以上关于《如何将文件系统设置为 http.Handler》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注编程网公众号吧!

您可能感兴趣的文档:

--结束END--

本文标题: 如何将文件系统设置为 http.Handler

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

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

猜你喜欢
  • 如何将文件系统设置为 http.Handler
    积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何将文件系统设置为 http.H...
    99+
    2024-04-05
  • win8系统如何将word文档设置为只读文件?将word文档设置为只读文件的方法
      win8系统将word文档设置为只读文件的方法: 1、返回到win8系统的传统桌面位置,同时按下win8电脑键盘上的win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,输入netp...
    99+
    2022-06-04
    设置为 文档 文件
  • Linux系统如何将桌面重置为默认设置
    今天给大家介绍一下Linux系统如何将桌面重置为默认设置。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。实验环境:Ubuntu具体步骤:要将 Ubuntu Un...
    99+
    2023-06-28
  • Win7系统如何将qsv文件转换为mp4
    由于qsv文件是爱奇艺特有的视频格式,不被许多播放器支持,因此我们需要进行格式转换。如何将qsv文件转换为mp4,实际上非常简单,如果您不明白,那就赶紧看看小编整理的Win7系统的qsv文件转化为mp4吧!将qsv转换为flv的方法:首先下...
    99+
    2023-07-18
  • windows7系统如何设置共享文件
    小编给大家分享一下windows7系统如何设置共享文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!选择你所需要的共享文件夹,当然,也可以专门建立一个文件夹,把文...
    99+
    2023-06-26
  • 如何将eclipse语言设置为中文
    本篇内容介绍了“如何将eclipse语言设置为中文”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!eclipse语言设置为中文的方法:1、打开...
    99+
    2023-07-04
  • 如何将gitlab设置为中文界面
    GitLab是流行的代码托管和协作平台。它提供了一个易于使用和强大的平台,用于管理代码版本控制和开发项目。尽管GitLab是一个英文平台,但是许多人可能更喜欢使用中文。这就是GitLab设置中文的原因。在本文中,我们将介绍如何在GitLab...
    99+
    2023-10-22
  • win7系统如何设置共享文件夹
    小编给大家分享一下win7系统如何设置共享文件夹,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、右键点击需要共享的文件夹,在菜单中选择“共享”到“特定用户”。二...
    99+
    2023-06-28
  • 如何设置win7系统文件夹共享
    在win7系统中,我们可以在局域网上共享文件夹,设置好后,连上同一局域网的其他电脑用户能直接在电脑上的网路上打开我们共享的资料夹。我们一起来看看关于win7系统文件夹的共享安装教程。如何设置win7系统文件夹共享。首先进入网络设置,然后点击...
    99+
    2023-07-14
  • 怎么将css文件设置为utf-8
    小编给大家分享一下怎么将css文件设置为utf-8,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 在css中,可以利用“@charset”规则来将字符编码设置为...
    99+
    2024-04-02
  • 如何设置redis为系统服务
    设置redis为系统服务的操作步骤:在桌面按快捷键win+r,输入cmd,以管理员权限开启cmd,并将路径指向redis安装目录。输入命令开启redis服务,例如:redis-server.exe redis.windows.conf设置r...
    99+
    2024-04-02
  • Fedora中如何设置和管理文件系统
    在Fedora中,您可以使用以下命令来设置和管理文件系统: 创建分区:使用 fdisk 或 parted 命令来创建新的分区。您...
    99+
    2024-04-02
  • CentOS中如何将Redis配置为系统服务
    小编给大家分享一下CentOS中如何将Redis配置为系统服务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!CentOS 将 R...
    99+
    2024-04-02
  • css中如何将文本框设置为只读
    小编给大家分享一下css中如何将文本框设置为只读,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!css将文本框设置为只读的方法是,在input文本框中添加reado...
    99+
    2023-06-15
  • pycharm如何将英文设置为中文(详细教程)
    文章目录 前言一、打开pycharm二、打开setting三、打开Plugins四、搜索Chinese五、安装插件六、重启pycharm即可总结 前言 可能很多小伙伴会因为pycharm...
    99+
    2023-10-01
    pycharm ide python
  • win10怎么将系统性能设置为最佳
    这篇文章主要介绍了win10怎么将系统性能设置为最佳的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win10怎么将系统性能设置为最佳文章都会有所收获,下面我们一起来看看吧。右键点击桌面上的电脑图标,打开属性界面...
    99+
    2023-06-28
  • Linux系统如何设置目录和文件权限
    这篇文章主要为大家展示了Linux系统如何设置目录和文件权限,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统如何设置目录和文件权限”这篇文章吧。在Linux系统中目录和文件的权限作用是...
    99+
    2023-06-28
  • win7系统如何设置显示文件后缀名
    这篇文章主要为大家展示了“win7系统如何设置显示文件后缀名”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“win7系统如何设置显示文件后缀名”这篇文章吧。打开“计算机”,选择“组织”选项卡,进入...
    99+
    2023-06-28
  • 如何在xp系统中将文件夹选项禁用确保系统各项设置的安全性
    本篇文章给大家分享的是有关如何在xp系统中将文件夹选项禁用确保系统各项设置的安全性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。相信很多用户都不知道文件夹选项有什么作用,在xp...
    99+
    2023-06-14
  • LNMP如何才能将上传的文件大小设置为自己想设置的值
    这篇文章主要介绍“LNMP如何才能将上传的文件大小设置为自己想设置的值”,在日常操作中,相信很多人在LNMP如何才能将上传的文件大小设置为自己想设置的值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LNMP如...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作