当前位置: 首页 > wzjs >正文

俄文网站制作快优吧seo优化

俄文网站制作,快优吧seo优化,做网站需要公司么,昆明著名网站建设一、go-zero微服务环境安装 1、go-zero脚手架的安装 go install github.com/zeromicro/go-zero/tools/goctllatest2、etcd的安装下载地址根据自己电脑操作系统下载对应的版本,具体的使用自己查阅文章 二、创建一个user-rpc服务 1、定义user.proto文件 syntax &qu…

一、go-zero微服务环境安装

  • 1、go-zero脚手架的安装

    go install github.com/zeromicro/go-zero/tools/goctl@latest
    
  • 2、etcd的安装下载地址根据自己电脑操作系统下载对应的版本,具体的使用自己查阅文章

二、创建一个user-rpc服务

  • 1、定义user.proto文件

    syntax = "proto3";package user;
    option go_package="./user";service User {rpc FindById(FindByIdReq) returns (FindByIdResp);
    }message FindByIdReq{int64 id = 1;
    }message FindByIdResp {int64 id = 1;string username = 2;
    }
    
  • 2、使用命令生成对应的项目文件

    goctl rpc protoc ./user.proto --go_out=. --go-grpc_out=. --zrpc_out=./
    
  • 3、安装对应的依赖包

    go mod tidy
    
  • 4、运行user服务

    go run user.go
  • 5、在etcd中查看服务是否已经注册成功

    etcdctl get --prefix user.rpc
    
  • 6、模拟业务代码返回数据

    func (l *FindByIdLogic) FindById(in *user.FindByIdReq) (*user.FindByIdResp, error) {return &user.FindByIdResp{Id:       in.Id,Username: "哈哈哈",}, nil
    }
    
  • 7、使用apifox可以直接调用rpc的服务,引入文件

    在这里插入图片描述

三、在提供restful api接口端调用rpc服务返回数据给前端

  • 1、创建一个user-api的项目

  • 2、创建描述文件

    syntax = "v1"type GetUserReq {Id int64 `path:"id"` // 主键id
    }type GetUserResp {Id int64 `json:"id"`              // 用户idUsername string `json:"username"` // 用户名
    }
    @server(prefix: api/v1/usergroup: user
    )
    service user-api {@doc "根据用户id获取用户新"@handler GetUserByIdApiget /:id (GetUserReq) returns (GetUserResp)
    }
    
  • 3、使用脚本生成对应的项目文件

    goctl api go -api *.api -dir . --style=gozero
    
  • 4、在user-api的配置文件中引入rpc服务的配置

    Name: user-api
    Host: 0.0.0.0
    Port: 8888UserRpc:Etcd:Hosts:- 127.0.0.1:2379Key: user.rpc
    
  • 5、在apps/user-api/internal/config/config.go创建服务的配置

    type Config struct {rest.RestConfUserRpc zrpc.RpcClientConf
    }
    
  • 6、在apps/user-api/internal/svc/servicecontext.go依赖注入rpc服务

    type ServiceContext struct {Config  config.ConfigUserRpc userclient.User
    }func NewServiceContext(c config.Config) *ServiceContext {return &ServiceContext{Config:  c,UserRpc: userclient.NewUser(zrpc.MustNewClient(c.UserRpc)),}
    }
    
  • 7、模拟实现业务代码

    func (l *GetUserByIdApiLogic) GetUserByIdApi(req *types.GetUserReq) (resp *types.GetUserResp, err error) {// 模拟业务开发findByIdResp, err := l.svcCtx.UserRpc.FindById(l.ctx, &user.FindByIdReq{Id: req.Id,})if err != nil {return &types.GetUserResp{}, errors.New("查询失败")}return &types.GetUserResp{Id:       findByIdResp.Id,Username: findByIdResp.Username,}, nil
    }
    
  • 8、直接浏览模拟请求http://localhost:8888/api/v1/user/1

http://www.dtcms.com/wzjs/181395.html

相关文章:

  • 云尚网站建设培训机构退费纠纷一般怎么解决
  • 冒险岛钓鱼网站做啥用国际外贸网络交易平台
  • 南山品牌网站建设企业西安seo网站建设
  • 今天刚刚发布的新闻seo技术培训海南
  • 做网站做哪个行业好天津seo
  • 连锁酒店的网站建设百度网盘客服人工电话
  • 建设工程资质录入是在那个网站新闻网站软文平台
  • 普洱网站建设优化推广页面
  • flash网站整站源码免费下载济南seo网站关键词排名
  • 网站是asp还是php收录查询站长工具
  • 服装手机商城网站建设哔哩哔哩b站在线看免费
  • 烟台建设银行网站网络seo
  • 哪家网站建设公司专业sem是什么缩写
  • 企业建设网站的好处有哪些中国营销型网站有哪些
  • 老旧小区改造国家最新政策武汉seo网站推广
  • 个人域名备过案了做电影网站会查吗搜索引擎查关键词排名的软件
  • 个人网站名字取名怎么做运营和营销的区别和联系
  • 网站如何做秒杀活动网站建设公司开发
  • 定制型网站一般价格百度seo排名优
  • 四川建设厅官方网站查询全球十大网站排名
  • 国内简约网站设计广东全网推广
  • 手工制作收纳盒武汉seo搜索引擎优化
  • 页面简单的网站网站seo排名
  • wordpress后台不能登陆宁波seo网页怎么优化
  • 为什么做网站更新郑州专业seo推荐
  • iphone做网站服务器百度云官网首页
  • 果洛州公司网站建设营销网络是什么
  • 客户说做网站没效果小红书seo是什么
  • 昆山网站建设书生商友seo关键词排名优化是什么
  • 七星彩的网站怎么做的搜狗搜索引擎优化论文