美文网首页
业务梳理(二)

业务梳理(二)

作者: 戈壁堂 | 来源:发表于2021-05-08 20:20 被阅读0次

    边干边学

    • api设计模式
    • 文件上传处理(string vs. slice)
    • 时间戳作为字符串

    本地文件上传移植后工作正常(不再维护的SDK还是可以正常工作——具体的原理后续再研究)。

    仿现有逻辑(添加URL前缀作为分类;定义处理请求的方法)添加上传文件的API接口——

    func InitRouter(router *mux.Router) {
        poolRoute := router.PathPrefix("/pool").Subrouter()
        poolRoute.UseEncodedPath()
    
        poolRoute.HandleFunc("/file/upload", UploadFile)
    }
    

    [上传文件获取方式](// https://tutorialedge.net/golang/go-file-upload-tutorial/),对比起来Java看起来是简单不少

    #获取form文件
    file, handler, err := r.FormFile("file")
    
    #获取参数列表
    vars := mux.Vars(r)
    

    查看对象类型(另外这个站点有很多有用的基础信息)

    本身的上传接口设计是“充分”的:本地文件上传,利用反射处理为string格式;如果是字节流,相当于slice类型(一开始传递的参数错误:将multipart.File对象直接传递进去,被认为是struct类型)

    时间戳作为字符串——

    func nowAsString() string {
        // .000将保留末尾的0值;.999将忽略末尾的0值
        now := time.Now().Format("2006-01-02 15:04:05.000")
        // 两个一组,使用后者替换前者
        replacer := strings.NewReplacer("-", "", ":", "", ".", "", " ", "")
        return replacer.Replace(now)
    }
    

    相关文章

      网友评论

          本文标题:业务梳理(二)

          本文链接:https://www.haomeiwen.com/subject/pdludltx.html