vue+go实战七(服务端搭建)

序言

随着客户端准备完毕,工作很快到了服务端编程。服务端的程序将是整个项目的核心,从单体架构开始,围绕一成不变的“道”,我将进行业务拆分。在整个过程中体会编程的乐趣,就像拧魔方一样,简单到复杂,纷乱到整齐。虽然做过太多这样的业务,但是自己的项目想想都让人激动。

准备工作

服务端准备
1. 语言
	go,选择它是因为在高性能分布式系统领域有很好的开发效率
2. 框架
	无
3. vscode
	虽然它有点坑,但是习惯了。

目录结构

在这里插入图片描述

源码展示

考虑到项目处于成长阶段,放上部分源码。

路由

在这里我要提供http服务,注册对应的路由,提供客户端请求。

在业务初始,创建了简单的路由服务原型,随着业务发展,它处于成长阶段。

api规则说明

package apiResult

// 本模块实现了api格式的说明以及返回格式的定义

import (
	"encoding/json"
	"net/http"
	"time"
)

// JsonRes ...
type JsonRes struct {
	Errcode   int         `json:"errcode"`
	Msg       string      `json:"msg"`
	Data      interface{} `json:"data"`
	TimeStamp int64       `json:"timestamp"`
}

// Success...
func Success(w http.ResponseWriter, msg string, data interface{}) {
	body, _ := json.Marshal(JsonRes{
		Errcode:   0,
		Msg:       msg,
		Data:      data,
		TimeStamp: time.Now().Unix(),
	})
	w.Write(body)
}

// Error...
func Error(w http.ResponseWriter, errcode int, msg string, data interface{}) {
	body, _ := json.Marshal(JsonRes{
		Errcode:   errcode,
		Msg:       msg,
		Data:      data,
		TimeStamp: time.Now().Unix(),
	})
	w.Write(body)
}

http服务

package httpServer

import (
	"net/http"

	"gitee.com/yangkaiqianggitee/http-server/httpServer/apiRouter"
)

func Run(addr string) {
	srv := http.Server{
		Addr:    addr,
		Handler: http.HandlerFunc(apiRouter.Register),
	}
	srv.ListenAndServe()
}

租赁业务

package lease

import (
	"go-server/service"
	"net/http"

	"gitee.com/yangkaiqianggitee/http-server/httpServer/apiResult"
)

func List(w http.ResponseWriter, r *http.Request) {
	leases, err := service.GetLeaseList()

	if err != nil {
		apiResult.Error(w, 50001, "获取失败,请稍后重试", "")
		return
	}
	apiResult.Success(w, "success", leases)
}

编译运行

go提供了build参数,太棒了,结合nohup,服务快速上线

在这里插入图片描述

作者的话

整篇文章适合有基础的开发者,如果哪里不明白可以给作者留言~~。

如果你对项目分析设计感兴趣,可以阅读前五篇文章:
服务器托管项目一(可行性研究报告)
服务器托管项目二(项目开发计划书)
服务器托管项目三(需求规划说明书)
服务器托管项目四(概要设计说明书)
服务器托管项目四(概要设计说明书)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猴子喝牛奶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值