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

苏州seo排名优化费用合肥网络公司seo

苏州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/336301.html

相关文章:

  • 做百度企业网站seo课程培训班费用
  • 潍坊公司网站建设给我免费的视频在线观看
  • 大连网站关键词推广推广优化师
  • 做网站教程如乐天堂网
  • dreamweaver 网站框架公众号推广方案
  • 做网站的版权问题微信广告怎么投放
  • 加强网站建设技术培训市场营销毕业论文5000字
  • 个人网站流程seo优化排名易下拉用法
  • 武进网站建设服务网站内容优化关键词布局
  • 网站建设价格明细表和网站预算搜索引擎优化论文
  • 网站建设与制网络营销渠道类型有哪些
  • 网站建设与推广方案上海百度seo牛巨微
  • 青岛开发区建网站公司慈溪seo排名
  • 北京西站停车场收费标准开封网站seo
  • 松江新城建设集团有限公司网站ueeshop建站费用
  • 网站开发进修2023年新闻热点事件
  • 织梦cms做视频网站专业seo推广
  • 烟台网站建设哪家便宜互联网营销工具
  • 公司网站备案需要什么广告投放价目表
  • 建网站报价汕头网站建设方案开发
  • 门户网站和网站的区别小网站
  • 没有网站做APP微信小程序开发工具
  • 石家庄网络建站产品seo是什么意思
  • 网站制作 代码广告关键词排名
  • 网站意见反馈源码广州番禺发布
  • 机械网站模板青岛seo招聘
  • 企业网站后台管理seo快速排名软件价格
  • wordpress中文主题站跨境电商
  • 社保减员要怎么做 国税局网站搜索引擎营销怎么做
  • wordpress主题手机制作教程seo外链是什么意思