go-kratos 学习笔记(2) 创建api

proto 声明SayHi 

先删除go.mod  从新初始化一下

go mod init xgs_kratos

go mod tidy

编辑 api/helloword/v1/greeter.proto 新声明一个方法

rpc SayHi (HelloHiRequest) returns (HelloHiReply) {
    option (google.api.http) = {
      post: "/hi"
      body: "*"
    };
  }

post请求的话 body必须写,定义好之后 

#执行
make api

#在执行
make generate

编辑service层

package service

import (
	"context"

	v1 "xgs_kratos/api/helloworld/v1"
	"xgs_kratos/internal/biz"
)

// GreeterService is a greeter service.
type GreeterService struct {
	v1.UnimplementedGreeterServer

	uc *biz.GreeterUsecase
}

// NewGreeterService new a greeter service.
func NewGreeterService(uc *biz.GreeterUsecase) *GreeterService {
	return &GreeterService{uc: uc}
}

// SayHello implements helloworld.GreeterServer.
func (s *GreeterService) SayHello(ctx context.Context, in *v1.HelloRequest) (*v1.HelloReply, error) {
	g, err := s.uc.CreateGreeter(ctx, &biz.Greeter{Hello: in.Name})
	if err != nil {
		return nil, err
	}
	return &v1.HelloReply{Message: "Hello " + g.Hello}, nil
}

// SayHi implements helloworld.GreeterServer.
func (s *GreeterService) SayHi(ctx context.Context, in *v1.HelloHiRequest) (*v1.HelloHiReply, error) {
	g, err := s.uc.CreateGreeter(ctx, &biz.Greeter{Hello: in.Name})
	if err != nil {
		return nil, err
	}
	return &v1.HelloHiReply{Message: "Hello " + g.Hello}, nil
}

运行 kratos run

postman请求的结果如下

相关推荐

  1. go - 学习笔记 -2

    2024-07-23 05:18:01       31 阅读
  2. Kratos 基础学习记录

    2024-07-23 05:18:01       37 阅读
  3. go学习笔记

    2024-07-23 05:18:01       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 05:18:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 05:18:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 05:18:01       45 阅读
  4. Python语言-面向对象

    2024-07-23 05:18:01       55 阅读

热门阅读

  1. vue中预览视频,word,pdf,xlsx

    2024-07-23 05:18:01       16 阅读
  2. service

    service

    2024-07-23 05:18:01      14 阅读
  3. vue3 页面引入组件

    2024-07-23 05:18:01       17 阅读
  4. NotebookApp Error unpacking user from cookie

    2024-07-23 05:18:01       15 阅读
  5. PHP基础语法(三)

    2024-07-23 05:18:01       19 阅读
  6. Linux中利用消息队列给两个程序切换显示到前台

    2024-07-23 05:18:01       18 阅读
  7. Python面试题:Python中的类型提示与静态类型检查

    2024-07-23 05:18:01       17 阅读
  8. 【架构专题】微服务架构

    2024-07-23 05:18:01       13 阅读
  9. 学术研究期刊

    2024-07-23 05:18:01       14 阅读
  10. 设计模式实战:图形编辑器的设计与实现

    2024-07-23 05:18:01       16 阅读